我目前正在從事一個c + +項目,因爲我缺少一些語法或方法來允許我的代碼正確編譯。嘗試設置我的環境後,我遇到了重新定義錯誤,當然,我並不想這麼做。我該如何處理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文件多達解決這個問題?
簡單,從Foo.cpp中刪除類Foo。還將更改爲「foo.h」。雖然的確切含義沒有指定,但它是針對foo.h顯然不是的系統頭文件。 –
john
2013-05-05 15:46:27