码迷,mamicode.com
首页 > 其他好文 > 详细

此声明没有存储类或类型说明符

时间:2020-01-29 12:19:16      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:nim   put   问题   说明符   变量   sign   name   报错   nat   

编译器报错提示 此声明没有存储类或类型说明符xx does not name a type

个人原因

因为我在头文件中运行了如下语句

struct EXAMPLE examples;
examples.input = "hello world"

但是 函数外只能定义全局变量或者对象 ,而不能执行语句及调用函数 。

可以改为

struct EXAMPLE examples = {.input = "hello world"};   

但是注意C语言中结构体初始化时,对于内部元素的顺序没有要求,但是C++不一样。
因为C++结构体初始化时,必须按照定义的顺序进行初始化,不能够跳过其中内容而初始化其他选项,或者定义的顺序先后有问题。
否则会报错:sorry, unimplemented: non-trivial designated initializers not supported

c++最好这么写

struct EXAMPLE examples = {"hello world"};   

此声明没有存储类或类型说明符

标签:nim   put   问题   说明符   变量   sign   name   报错   nat   

原文地址:https://www.cnblogs.com/friedCoder/p/12239966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!