Я использую Visual Studio 2010 и считаю, что у меня проблема с настройками проекта. У меня есть заголовочный файл, в котором есть некоторые объявления:
definitions.h
#include <string>
struct myStruct
{
std::string x[4];
std::string y[8];
};
void InitializeStructData();
extern myStruct data[12];
и файл cpp инициализирует мою структуру:
definitions.cpp
#include "definitions.h"
#include <string>
mySturct data[12];
void InitializeStructData()
{
data[0].x[0] = "a";
data[0].x[1] = "b";
....
data[0].y[0] = "a";
....
....
data[11].y[7] = "done initializing"';
}
и у меня есть форма, в которой есть несколько кнопок и вещей, текст которых я заполняю из массивов в зависимости от различных обстоятельств:
myForm.cpp
#include "definitions.h"
...
//form initialization
Как только у меня есть два #include "definitions.h"
утверждения, я получаю ошибки ссылки:
Error 1 error LNK2005: "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > * Definitions"
Error 2 error LNK1169: one or more multiply defined symbols found