我正在尝试在Ubuntu 10.10上的Linux上使用solaris studio。

当我尝试构建以下代码时,
const char * names [] = {“Apple”,“Orange”,“Mango”};

我收到以下错误消息,
“无法使用地址来初始化打包结构(#pragma pack)的字段”

我没有使用#pragma pack(),甚至尝试使用#pragma pack(0)将其设置为默认值,还尝试使用#pragma align 64(名称)

仍然我得到同样的错误。
是什么原因。
谢谢

最佳答案

您使用的是哪个版本,以下程序和Linux上的Solaris Studio 12.2/Sun C 5.11都没有错误:

$ cat tst.c
int main(void)
{
    const char *names[] = {"Apple", "Orange", "Mango"};
}
$ cc tst.c
$ echo $?
0
$ cc -V
cc: Sun C 5.11 Linux_i386 2010/08/13
usage: cc [ options ] files.  Use 'cc -flags' for details
$

关于c - 错误: cannot use an address to initialize a field of a packed struct (#pragma pack),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9677241/

10-12 20:48