vector<LineInfo> globalDocument
- это вектор LineInfo
структур, поэтому вы должны push_back LineInfo
объектов в него:
void handleTextLine( const string& s, int lineNumber2) {
LineInfo li;
li.lineNumber = lineNumber2;
li.text = s;
globalDocument.push_back(li);
}
Или, используя синтаксис инициализации структуры:
void handleTextLine( const string& s, int lineNumber2) {
LineInfo li = {lineNumber2, s};
globalDocument.push_back(li);
}
Вы можете получить еще более компактный код вставки, если объявите конструктор для LineInfo
:
struct LineInfo {
// Default constructor
LineInfo() : lineNumber(0) {}
// Constructor taking 2 arguments
LineInfo(int n, string s) : lineNumber(n), text(s) {}
int lineNumber;
string text;
};
void handleTextLine( const string& s, int lineNumber2) {
globalDocument.push_back(LineInfo(lineNumber2, s));
}