Рейтинг:
1
k5054
Так и должно быть def.push_back(line)
. pop_back()
удаляет последний элемент вектора. Видеть вектор::pop_back - ссылка на C++ [^]
Дополнительно map<string,string>;
должно быть, генерируется ошибка компилятора, так как он ничего не объявляет.
Stefan_Lang
Любой оператор, выглядящий как некоторый тип и точка с запятой, будет интерпретироваться как прямое объявление,поэтому map<string, string>; является допустимым C++, хотя и не очень полезным.
k5054
Интересно - говорит g++ ошибка: объявление ничего не объявляет [-fpermissive]- лязг ОТО говорит предупреждение: декларация ничего не объявляет [-Wmissing-declarations] Я бы не назвал это прямой декларацией, хотя бы потому, что она не обеспечивает что-нибудь полезно вообще.
Stefan_Lang
Действительно интересно: Visual STudio полностью игнорирует его, даже с-wall !
TBH я всегда *думал*, что это синтаксис для прямого объявления шаблонного типа, но вы правы, online gdb также объявляет его ошибкой: https://www.onlinegdb.com/online_c++_компилятор
Рейтинг:
0
Patrice T
Похоже, что ваш код имеет более чем 1 проблему:
Так должно быть лучше:
input.open("Data.CS.SFSU"); // 1 open file
if (!input) { // 2 check if failed
cout << "File not opened!";
exit(1);
}
input.open("Data.CS.SFSU");
Совет: Научитесь правильно делать отступы в вашем коде, это покажет его структуру и поможет чтению и пониманию. Это также помогает выявлять структурные ошибки.
Стиль отступа - Википедия[
^]
Профессиональные редакторы программистов имеют эту функцию и другие, такие как сопоставление скобок и подсветка синтаксиса.
Блокнот++ Главная Страница[
^]
личные[
^]