+ -
当前位置:首页 → 问答吧 → 声明数组

声明数组

时间:2011-12-27

来源:互联网

我用的是VS2008,编写C的程序。
程序如下:
#include <stdio.h>


int main(void)
{
const size_t BUFFER_LEN = 512;
char buffer[BUFFER_LEN];
}

提示错误:
Error 1 error C2057: expected constant expression d:\workfiles\subjects\test\c\examples\program7_12arrayofpointers\program7_12arrayofpointers\arrayofpointers.c 8 Program7_12ArrayOfPointers


Error 2 error C2466: cannot allocate an array of constant size 0 d:\workfiles\subjects\test\c\examples\program7_12arrayofpointers\program7_12arrayofpointers\arrayofpointers.c 8 Program7_12ArrayOfPointers


Error 3 error C2133: 'buffer' : unknown size d:\workfiles\subjects\test\c\examples\program7_12arrayofpointers\program7_12arrayofpointers\arrayofpointers.c 8 Program7_12ArrayOfPointers


请问这个声明有什么不对的地方么?我在书上看到的啊。多谢指教!

作者: mgconfig   发布时间: 2011-12-27

换成C++的程序...
.cpp

作者: mingliang1212   发布时间: 2011-12-27

c 标准中的 const 只是 read only, 不被认为是常量

作者: AnYidan   发布时间: 2011-12-27

纯C的,只有C99支持你的定义
而vs2008不支持C99的这个部分
改为
#define BUFFER_LEN 512

作者: whoami1978   发布时间: 2011-12-27