为什么我会收到命名空间标识符错误?

use*_*617 5 c++ embedded namespaces keil rogue-wave

我正在使用 Keil uVision 并且不断收到此错误:

C:\Keil_v5\ARM\ARMCC\bin\..\include\rw/_defs.h(781): error:  #20:
    identifier "namespace" is undefined
Run Code Online (Sandbox Code Playgroud)

什么可能导致此错误?命名空间不是自动定义的吗?

Cli*_*ord 5

看起来您正在对 C++ 代码使用 C 编译 - 检查编译器选项。

在 C++ 中namespace是一个保留字,但在 C 中不是,所以编译器会尝试将它解释为标识符而不是关键字——这当然对 C 编译器在语法上没有意义。