我在我的所有方法上都收到错误“类中已定义的方法”, 我已经看到一些解决方案包括将类分成一个头文件和一个 .cpp 文件,但在这种情况下这是不可能的。
任何帮助将不胜感激。
这是我的 h 文件:http://pastebin.com/k46JEQBH
cpp 有:
#include "stdafx.h"
#include "poly.h"
最佳答案
问题是您的定义在您的 header 中,并且它可能包含在多个 .cpp 文件中。每个 .cpp 文件都是一个新的翻译单元。假设您一次编译每个 .cpp 文件。对于包含您的 header 的每个 .cpp 文件,这将是第一次遇到该 header ,POLY_H
尚未定义。声明可以出现多次,但定义不行。将您的定义移动到一个单独的 .cpp 文件中,一切都应该有效。
编辑:将定义保留在标题中对于模板类是必要的并且是允许的,但是您的类不是模板化的。
关于c++ - 方法已经定义(模板类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41468327/