首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我会得到一个命名空间标识符错误?

为什么我会得到一个命名空间标识符错误?
EN

Stack Overflow用户
提问于 2014-06-30 10:54:15
回答 2查看 8.9K关注 0票数 5

我正在使用Keil uVision,并且一直收到以下错误:

代码语言:javascript
复制
C:\Keil_v5\ARM\ARMCC\bin\..\include\rw/_defs.h(781): error:  #20:
    identifier "namespace" is undefined

是什么导致了这个错误?名称空间不是自动定义的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-30 11:14:27

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

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

票数 6
EN

Stack Overflow用户

发布于 2014-06-30 11:02:45

您没有公开很多细节,但我的预感是您在C++程序中使用了一个C编译器。C中没有名称空间。

我可以通过这个程序产生类似的信息:

代码语言:javascript
复制
namespace test {
}

输出:

代码语言:javascript
复制
$ 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 {
            ^

Ideone链接

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24488490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档