我正在运行一个 C++ 程序,它使用另一个 .cpp 文件中的类。该类只有一个构造函数。当我单独测试它时它会起作用。主程序可以编译,但是当我运行它时,构造函数中有一个错误。任何人都可以想到可能发生的任何情况?谢谢。
我想我只是在终端中运行代码,没问题。但是当我尝试在 eclipse 中构建项目时,它显示以下代码有多个定义错误:
class model
{
public:
int textures [];
float vertices[][3];
float triangles[][13];
public:
model(const char*); // constructor
};
model::model(const char* filename)
{
错误信息是:`model::model(char const*)' 的多重定义
有什么想法吗?
最佳答案
您需要将代码拆分为 .h( header )和 a.cpp(实现)文件并放入:
model::model(const char* filename)
{
在后者。或者,重写您的类,使构造函数(和任何其他成员函数)的定义位于类的头文件中:
class model {
...
model(const char*) {
// constructor body here
}
};
关于c++ - 编译 C++ 类时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2126338/