我有一个自动生成的file1.cpp文件,格式如下:
namespace FirstNS {
namespace SecondNS {
int newFunction(){
}
}
}
我正在尝试在另一个mainFile.cpp文件中使用main中的newFunction。我用它来引用它
FirstNS::SecondNS::newFunction();
但是,我收到以下错误:
'newFunction'不是'FirstNS :: SecondNS'的成员
我尝试过的事情
如何让它对mainFile.cpp的主要部分可见/可用?我无法对生成的file1.cpp进行任何修改。
答案 0 :(得分:1)
将此转发声明
namespace FirstNS {
namespace SecondNS {
int newFunction();
}
}
在头文件中。请务必使用#include
警卫,并在mainFile.cpp
(你不能将 define 一个函数乘以,这就是你在尝试#include file1.cpp
时遇到链接错误的原因。
您可能会发现您正在使用的生成器工具也可以为您生成这些前向声明。