C ++ 11 extern сложная инициализация контейнера и контейнера

Когда мы хотим получить экспортируемую переменную (как в C, так и в C ++), нам нужно:

— объявите переменную как extern в заголовочном файле hpp (т.е. extern int x;)

— инициализируйте переменную в файле cpp (т.е. int x = 0).

Однако я столкнулся с трудностями с контейнерами и получаю сообщения типа «переменная объявляется несколько раз» и так далее.

Например:

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

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]