Ошибка через однострочный комментарий перед строкой с выражением
Возможный дубликат:
Функция-определение здесь не допускается до {<
Я хотел бы поделиться этой ошибкой, которую я сделал в своем коде, один из труднодоступных:
#include <iostream>
void StartNuclearWar() {
std::cout << "War in progress..." << std::endl;
}
int main()
{
int a = 0;
// Get activation codes from C:\codes\
a = 1;
if(a == 0) {
StartNuclearWar();
}
}
Где это?
Ответы
Ответ 1
Ошибка в комментарии: для нас окончательный символ\представляет собой каталог, для компилятора это означает, что следующая строка является частью текущей строки.
Конечно, каждый разработчик это знает, но в этом случае эта деталь довольно хорошо скрыта.
Ответ 2
Nice getcha, MSDN вызывает это сращивание строк.
Все строки, заканчивающиеся на обратную косую черту (\
) и сразу же сопровождаемые символом новой строки, соединяются со следующей строкой в исходном файле, формируя логические строки из физических линий. Если он не пуст, исходный файл должен заканчиваться символом новой строки, которому не предшествует обратная косая черта.