此声明没有存储类或类型说明符
Posted friedcoder
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了此声明没有存储类或类型说明符相关的知识,希望对你有一定的参考价值。
编译器报错提示 此声明没有存储类或类型说明符
或 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"};
以上是关于此声明没有存储类或类型说明符的主要内容,如果未能解决你的问题,请参考以下文章