首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Solaris机器上使用SUN C++编译时,错误:不完整类型“无符号char[]”

在Solaris机器上使用SUN C++编译时,错误:不完整类型“无符号char[]”
EN

Stack Overflow用户
提问于 2017-11-01 15:35:16
回答 1查看 465关注 0票数 3

我将unsigned char tmp[];定义为一个结构的成员。

在Linux上使用g++4编译时,它不会抱怨。但是,在Solaris 5.10机器上使用Sun C++编译时,我会得到一个错误:

错误:在此声明中,"tmp“是不完全类型的"unsigned char[]”。

Sun C++是否有任何编译选项可使其编译?

我读过关于不完整类型的文章,是否应该将其更改为指针?这是有问题的,因为我有很多相同的定义。为什么编译结果是不同的?

EN

回答 1

Stack Overflow用户

发布于 2017-11-02 15:12:52

给出密码

代码语言:javascript
运行
复制
struct
{
    ...,
    char tmp[];
};

tmp柔性阵列构件

这是一个C语言的构造,是在C++中直到C++14才有效,但作为一个扩展由GCC支持。

The 选项。

注意,零长度数组,如

代码语言:javascript
运行
复制
struct
{
    ...,
    char tmp[ 0 ];
};

与灵活数组成员不同,您的Studio编译器版本可能不支持-features=zla选项。是例如,Solaris Studio 12.2不支持。

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

https://stackoverflow.com/questions/47058431

复制
相关文章

相似问题

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