Похоже, вы используете компиляцию C для кода C ++ — проверьте параметры компилятора.
В C ++ namespace является зарезервированным словом, но не в C, поэтому компилятор попытается интерпретировать его как идентификатор а не ключевое слово — что, конечно, не имеет смысла синтаксически для компилятора Си.
3
Другие решения
Вы не раскрыли много деталей, но я догадываюсь, что вы используете компилятор C для своей программы C ++. В C. нет пространств имен
Я мог бы создавать похожие сообщения с этой программой:
namespace test {
}
Выход:
$ gcc test.c
test.c:1:1: error: unknown type name 'namespace'
namespace test {
^
test.c:1:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{
' token
namespace test {
^