尝试在 c++ 对象上使用 extern 时出现未定义的引用错误。整数类型似乎不会发生这种情况。我错过了什么?!下面的代码复制了这个问题:
文件 1.cpp:
#include <string>
const std::string s("test");
int i = 99;
int main()
{
extern void Test();
Test();
}
文件 2.cpp:
#include <iostream>
#include <string>
extern const std::string s;
extern int i;
void Test()
{
std::cout << s << std::endl;
std::cout << i << std::endl;
}
如果我注释掉's' std::string 变量的用法,链接错误就会消失。
SO上还有其他类似的问题,但它们似乎都与没有定义变量的人有关,我就是!