MFC中CString 可以定义数组变量么? 比如我定义cstring m[9]。
遇到了一个问题。我在头文件中声明staticCStringfre[4],在cpp文件中定义为CStringCLeftView::fre[0]="2S";CStringCL...
遇到了一个问题。
我在头文件中声明 static CString fre[4],
在cpp文件中定义为
CString CLeftView::fre[0]="2S";
CString CLeftView::fre[1]="2S";
CString CLeftView::fre[2]="2S";
CString CLeftView::fre[3]="2S";
编译的时候出错了,有下面两个错误指向CString CLeftView::fre[0]="2S";
cannot allocate an array of constant size 0
cannot specify initializer for arrays
有一个错误指向CString CLeftView::fre[1]="2S";
'public: static class CString * CLeftView::fre' : redefinition; different subscripts
CString CLeftView::fre[2]="2S"; CString CLeftView::fre[3]="2S"; 这两句中的错误与CString CLeftView::fre[1]="2S" 的错误相同。
我是初学MFC。希望大侠们有时间的话,能指点一下。我现在这谢过了。 展开
我在头文件中声明 static CString fre[4],
在cpp文件中定义为
CString CLeftView::fre[0]="2S";
CString CLeftView::fre[1]="2S";
CString CLeftView::fre[2]="2S";
CString CLeftView::fre[3]="2S";
编译的时候出错了,有下面两个错误指向CString CLeftView::fre[0]="2S";
cannot allocate an array of constant size 0
cannot specify initializer for arrays
有一个错误指向CString CLeftView::fre[1]="2S";
'public: static class CString * CLeftView::fre' : redefinition; different subscripts
CString CLeftView::fre[2]="2S"; CString CLeftView::fre[3]="2S"; 这两句中的错误与CString CLeftView::fre[1]="2S" 的错误相同。
我是初学MFC。希望大侠们有时间的话,能指点一下。我现在这谢过了。 展开
3个回答
展开全部
你在头文件里已经声明了fre,在cpp中就不用再声明了,去掉CString,直接赋值。第一个错误是数组不能声明为0个,后面的错误是说你重复定义了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用指针,但是麻烦一点,应为要用new和delete
CString是一个类,就像操作其他类一样,最好用指针
CString是一个类,就像操作其他类一样,最好用指针
更多追问追答
追问
您能给我举个例子么?
追答
CString * pwcs[4];
for(int i=0;i<4;p[i++]=new CString);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用CStringArray,你这样用会有问题。
更多追问追答
追问
您能给我举个例子么
追答
//CString转CStringArray
CString str = _T("i am a student");
CStringArray strArr;
if( DivStr(str,strArr,_T(" ")) <= 0)
{
AfxMessageBox( _T("数组为空!"));
return;
}
//CStringArray转CString
str = _T("");
int index =strArr.GetSize();
for(int i=0;i<index;i++)
{
str += strArr[i]+_T("_");
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询