请帮助我,我是 C++ 的新手
我在 VS 2010 中编写代码
我有一个全局变量
int avg[SAMPLE][3];
我想通过做这样的事情来修改主程序中的值:
avg[SAMPLE][3] = {
{30,96,56}, {13,114,55}, {16,118,46},{19,143,64}, {12,129,68},{13,153,69},{15,120,67}
};
但是,VS 显示错误:IntelliSense: expected an expression
但是当我直接声明值给全局变量的时候就没问题了
int avg[SAMPLE][3] = {
{30,96,56}, {13,114,55}, {16,118,46},{19,143,64}, {12,129,68},{13,153,69},{15,120,67}
};
也许这是微不足道的,但请帮助我,我是 C++ 的新手,因此对此一无所知。
非常感谢。
最佳答案
使用初始化列表重新赋值在 C++ 中不可用。 C++11 将此选项添加到类,但不会像您的示例那样添加到静态 C 数组。
你可以做的是拥有一个或多个 const
global/static 你需要的值,并在需要时 memcpy
它们:
static const int g_avg[SAMPLE][3] = {
{30,96,56}, {13,114,55}, {16,118,46},{19,143,64}, {12,129,68},{13,153,69},{15,120,67}
};
// usage
int avg[SAMPLE][3];
// ...
memcpy(avg, g_avg, sizeof(avg));
关于c++ - '智能感知 : expected an expression' on Assigning Value to Global Variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20852339/