gpt4 book ai didi

c++ - 如何使用gcc工具链初始化c++ 11中的全局数组的几个元素?

转载 作者:行者123 更新时间:2023-12-02 09:58:20 24 4
gpt4 key购买 nike

我有以下代码:

#include <iostream>

int array[10] = {
[2] = 200,
[5] = 500
};

int main() {
std::cout << "Hello World!\n";
std::cout << array[5];
return 0;
}
当我使用 g++ -std=c++11 -o main main.cpp编译时,出现以下错误:
main.cpp:6:1: sorry, unimplemented: non-trivial designated initializers not supported
};
^
main.cpp:6:1: sorry, unimplemented: non-trivial designated initializers not supported
有什么办法可以用g++做到这一点? clang 很好。

最佳答案

这是C的功能,称为指定的初始化程序,在标准C++中不可用。因此,尽管某些编译器可能允许它作为扩展,但它不是语言的功能(因此不可移植)。
现在,我不知道您的实际数组是否会比这更复杂,但是如果没有,您可以使用以下方法完成:

int array[10] = { 0, 0, 200, 0, 0, 500 };

关于c++ - 如何使用gcc工具链初始化c++ 11中的全局数组的几个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64073547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com