此博客Cubic建议尝试四件事,然后或多或少地寻求帮助
我会发布一些代码,但这是一个LNK错误;它没有提供太多信息。
我看到它是关于已在msproject中定义的向量的东西 - 我确保向量具有不同的名称。这是标头# include <vector>
;我试着评论一些#includes来检查,但同样。
答案 0 :(得分:2)
好像你不止一次定义list1
。 (顺便说一句,这个名字表明它应该是std::list
,但这超出了问题的范围)
你有
吗?std::vector<std::string> list1;
在头文件中?该标题是否包含在多个翻译单元中?
如果您想要全局,则需要在标题中使用extern
:
extern std::vector<std::string> list1;
并在单个实施文件中移动定义。
答案 1 :(得分:1)
您已多次定义list1。可能将它放在头文件中,然后将其包含在多个cpp文件中。这就是你应该怎么做的
// in header file
extern std:vector<whatever> list1;
// in one cpp file
std:vector<whatever> list1;
您的知识差距在于您不了解/了解如何在具有多个源文件的程序中声明和定义全局变量。任何体面的C ++入门书都应该涵盖这一点。