1
我有一個頭文件「myHeaderFile.h」文件看起來像下面這是由釋放EXE和單元測試EXE使用。C++頭文件包含錯誤
#ifndef MYHEADERFILE_H
#define MYHEADERFILE_H
namespace myname1
{
namespace myname2
{
class A
{
...
};
#ifdef MYTESTCLASS
class TestABase
{
...
}
#endif
}
}
#endif
現在我們有單元測試文件myUnitTest.h文件文件,如下
#ifndef MYUNITEST_H
#define MYUNITTEST_H
#ifndef MYTESTCLASS
#define MYTESTCLASS 1
#endif
#include "myHeaderFile.h"
class TestClass : public myname1::myname2::TestABase
{
...
};
#endif
現在myUnitTest.cpp我有以下
#include "myUnitTest.h"
// Definition stuff.
我編譯時我得到錯誤的錯誤C2039:TestABase:不是myname1 :: myname2的成員' myUnitTest.h(31):錯誤C2504:TestABase:基類未定義
是什麼導致以上錯誤?請幫我解決上述錯誤。注意:myHeaderFile.h來自庫,所以我不能改變這個頭文件。
謝謝!
代碼片段被修改爲Juraj Blaho所示,現在編譯好了。您不應該修改代碼片段並將解決方案添加到它們中,而應該通過確定答案來解決問題 –