首页 > 编程语言 > 详细

VC中解决数组长度不能使用变量的方法

时间:2021-05-27 16:42:54      阅读:15      评论:0      收藏:0      [点我收藏+]

      通常我们定义数组的长度时,这个长度是一个整数常量,但有时我们需要定义整数变量,这种情况下编译时会出现如下的错误提示:

error C2057: 应输入常数表达式; error C2466: 不能分配常数大小为 0 的数组。

      解决的办法有如下两种方法:

1、 使用宏#define来定义数组的长度;

2、 使用new关键字来构造数组。

      本例的关键代码如下:

void CSample1View::OnDraw(CDC* pDC)

{

       CSample1Doc* pDoc = GetDocument();

       ASSERT_VALID(pDoc);

       if (!pDoc)

              return;

       #define count 3

       CString testStr[count];

       testStr[0]="Test1";

       testStr[1]="Test2";

       testStr[2]="Test3";

       for(int i=0;i<count;i++)

              pDC->TextOut(0,i*20,testStr[i]);

}

void CSample2View::OnDraw(CDC* pDC)

{

       CSample2Doc* pDoc = GetDocument();

       ASSERT_VALID(pDoc);

       if (!pDoc)

              return;

       int count=3;

       CString* pTestStr=new CString[count];

       pTestStr[0]="Test1";

       pTestStr[1]="Test2";

       pTestStr[2]="Test3";

       for(int i=0;i<count;i++)

              pDC->TextOut(0,i*20,pTestStr[i]);

}

VC中解决数组长度不能使用变量的方法

原文:https://www.cnblogs.com/it001xyz/p/14816590.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!