我遇到的行为我无法解释。
我的问题很简单,我想在命名空间中创建一个全局变量,并在不同的模块(cpp-files)中使用它。我已经阅读了很多不同的帖子,但没有答案解决了我的问题。
test.hpp
namespace Test
{
extern int var1;
extern bool var2;
}
TEST.CPP
#include "test.hpp"
namespace Test
{
int var1 = 0;
bool var2 = false;
}
测试2.cpp
#include "test.hpp"
void somefunc(void)
{
Test::var1 = 1;
}
关联时出错:
test2.cpp: error: undefined reference to 'Test::var1'
如果有更好的方法,请告诉我,我愿意接受。
请不要将此问题标记为重复,我已经阅读了Stackoverflow上关于此主题的所有帖子,但他们没有为我解决。
答案 0 :(得分:-2)
您的开发工具或编辑器看起来有问题。尝试创建一个全新的项目,然后重试。 (不要删除编辑器的defualt头文件和项目链接。)