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所示,现在编译好了。您不应该修改代码片段并将解决方案添加到它们中,而应该通过确定答案来解决问题 –