C ++ 11 extern复杂的Container和Container初始化

时间:2017-08-28 09:05:42

标签: c++ c++11 containers extern initialization-vector

当我们想要一个导出的变量(在C和C ++中)时,我们需要:

- 在hpp头文件中将变量声明为extern(即extern int x;)

- 在cpp文件中初始化变量(即:int x = 0)。

但是,我发现容器存在问题,而且我收到了像#34这样的消息;变量被多次声明"等等。

例如:

hpp文件:

typedef std::vector<std::pair<std::string, std::string>> VectorOfPairs_t;
export VectorOfPairs_t vectorOfPairs;

cpp文件:

std::pair<std::string, std::string> myPair;
myPair = std::make_pair("hello", "world");
vectorOfPairs.push_back( myPair ); // All this is just a hack
                                   // to initialize the container...

main.cpp(或其他cpp):

use of vectorOfPairs accordingly to my requirements

但是,正如我所提到的,这不是编译。

你能告诉我我做错了什么吗?

0 个答案:

没有答案