C 错误:可变大小的对象可能未初始化|
我的代码如下:C 错误:可变大小的对象可能未初始化|,c,C,我的代码如下: const size_t NUM_P = 100; int main (viod) { char *pS[NUM_P] = { NULL}; /* Array of string pointer */ /* Other code */ } 我的编译器是代码块,当NUM_p更改为数字(如“12或35..)时,错误将被清除,我不知道错误的根本原因,或者这是我的编译器问题。在C中,不允许为VLA提供初始值设定项 我建议对数组维度使用编译时常量;那么它
const size_t NUM_P = 100;
int main (viod)
{
char *pS[NUM_P] = { NULL}; /* Array of string pointer */
/* Other code */
}
我的编译器是代码块,当NUM_p更改为数字(如“12或35..)时,错误将被清除,我不知道错误的根本原因,或者这是我的编译器问题。在C中,不允许为VLA提供初始值设定项 我建议对数组维度使用编译时常量;那么它不是VLA:
#define NUM_P 100
int main(void)
{
char *pS[NUM_P] = { 0 };
}
由于历史原因,
const
变量在C中不被视为常量表达式。在C中,不允许为VLA提供初始值设定项
我建议对数组维度使用编译时常量;那么它不是VLA:
#define NUM_P 100
int main(void)
{
char *pS[NUM_P] = { 0 };
}
由于历史原因,
const
变量在C中不被视为常量表达式。在C中,不允许为VLA提供初始值设定项
我建议对数组维度使用编译时常量;那么它不是VLA:
#define NUM_P 100
int main(void)
{
char *pS[NUM_P] = { 0 };
}
由于历史原因,
const
变量在C中不被视为常量表达式。在C中,不允许为VLA提供初始值设定项
我建议对数组维度使用编译时常量;那么它不是VLA:
#define NUM_P 100
int main(void)
{
char *pS[NUM_P] = { 0 };
}
<> P>由于历史原因,在C++中,<>代码> const <代码>变量不被认为是常数表达式,在C++中是有效的,但在C.中不可用,在C.中可以使用预处理器符号来实现。
#define NUM_P 100
int main (viod)
{
char *pS[NUM_P] = { NULL};
}
这在C++中是有效的,但在C.中不可用。
#define NUM_P 100
int main (viod)
{
char *pS[NUM_P] = { NULL};
}
这在C++中是有效的,但在C.中不可用。
#define NUM_P 100
int main (viod)
{
char *pS[NUM_P] = { NULL};
}
这在C++中是有效的,但在C.中不可用。
#define NUM_P 100
int main (viod)
{
char *pS[NUM_P] = { NULL};
}
问题的根源在于
NUM\u p
是一个变量,即使它是一个const
变量
用
#define NUM_p 100
替换其声明,您的代码将再次编译。问题的根源在于NUM_p
是一个变量,即使它是常量
也是如此
用
#define NUM_p 100
替换其声明,您的代码将再次编译。问题的根源在于NUM_p
是一个变量,即使它是常量
也是如此
用
#define NUM_p 100
替换其声明,您的代码将再次编译。问题的根源在于NUM_p
是一个变量,即使它是常量
也是如此
将其声明替换为
#define NUM_p 100
,您的代码将再次编译。好的,这意味着常量变量仍然是变量,但我们需要常量?好的,这意味着常量变量仍然是变量,但我们需要常量?好的,这意味着常量变量仍然是变量,但我们需要常量?好的,这意味着常量变量仍然是变量,但我们需要一个常量吗?