[英]c++ extern unresolved symbol error LNK2001
我有這樣的事情:
--includes.h
extern int count;
--main.cpp
#include "includes.h"
int count = 4;
--other.cpp
#include "includes.h"
cout<<count; // will output 4
但是當我這樣做時,編譯器會出現以下錯誤:
error LNK2001: unresolved external symbol "int count" (?count@@3HA)
知道我為什么要得到這個嗎?
在不同文件之間共享變量的最佳方法是什么? 如何定義在一個文件中使用變量,並在另一個文件中修改該變量?
main.cpp
#include <iostream>
int y;
int testy();
int _tmain(int argc, _TCHAR* argv[])
{
std::cout << y;
std::cout<<testy();
std::cout << y;
return 0;
}
source.cpp
extern int y;
int testy(){return y++;}
這應該有助於了解您的問題...
您可以嘗試放入未命名的命名空間
namespace{
extern int count = -1;
};
cpp:
std::cout << count;
您應該在標頭中定義一個extern int,並在一個文件中定義一個int,但是此文件應沒有對標頭的任何引用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.