缺席后,我目前正在从事一个 c++ 项目,似乎我忘记了一些可以让我的代码正确编译的语法或方法。在尝试设置我的环境后,我遇到了重新定义错误,当然,我并不打算通过这些错误。
编译时报错如下
src/foo.cpp:4:7: error: redefinition of ‘class foo’
In file included from src/foo.cpp:2:0:
./headers/foo.h:7:7: error: previous definition of ‘class foo’
我不相信我正在重新定义 foo 在我的空间中;我知道这是使用我定义的 foo.h 头文件的结果。
这是我正在编译的代码
// foo.h
#ifndef FOO_H
#define FOO_H
#include <iostream>
class foo {
public:
foo();
void test();
~foo();
};
#endif /* FOO_H */
// foo.cpp
#include <foo.h>
class foo {
public:
foo(){}
void test(){}
~foo(){}
};
foo::foo(){}
int foo::test(){
std::cout << "Derp!";
return 0;
}
foo::~foo(){}
我应该如何设置我的头文件或 cpp 文件来解决这个问题?