我在一个项目中有三个文件
一个是
namespace sql
{
namespace detail
{
void getColumnValue();
}
}
另一个是
namespace detail{
.........
}
第三个是
#include "first_file"
namespace sql
{
template<typename TheStruct>
class RowStruct {
public:
void shouldCombine()
{
sql::detail::getColumnValue();
}
}
这三个文件都在同一个项目和同一个外部命名空间中。但后来我构建,我得到一个错误,说第三个文件“:sql::detail'没有被声明”。
为什么我不能引用“sql”中的“详细信息”,我错过了什么吗?如果我在第三个文件中使用“detail::”而不是“sql::detail::”,那么它将进入第二个文件中声明的detail::,这不是我想要的。