C++:error C2440: = : 无法从 char [5][10] 转换为 char * 10
charnosense[20]={'@','#','$',',','.','"','','\0'};charword[5][10]={"L4","FD","D26"};i...
char nosense[20] = {'@','#','$',',','.','"',' ','\0'};
char word[5][10] = { "L4","FD","D26"};
int i = 0;
int k = 0;
int l = 0;
int count = 3;
int num = 5;
bool flag = true;
int m = 0;
char *p;
char yorn;
p = word;
do
{
cout << "\n请输入和谐词,输入'|'停止\n";
cin >> p[count];
count++;
if( count == num && p[count-1] != '|')
{
num = 2*num;
p = new char[num][10];
for(m=0;m < num/2;m++)
p[m]=word[m];
}
}
其中这三行出错了:
p = word;
p = new char[num][10];
p[m]=word[m];
求高手指教!! 展开
char word[5][10] = { "L4","FD","D26"};
int i = 0;
int k = 0;
int l = 0;
int count = 3;
int num = 5;
bool flag = true;
int m = 0;
char *p;
char yorn;
p = word;
do
{
cout << "\n请输入和谐词,输入'|'停止\n";
cin >> p[count];
count++;
if( count == num && p[count-1] != '|')
{
num = 2*num;
p = new char[num][10];
for(m=0;m < num/2;m++)
p[m]=word[m];
}
}
其中这三行出错了:
p = word;
p = new char[num][10];
p[m]=word[m];
求高手指教!! 展开
3个回答
展开全部
char* p 是指一维数组地址, 把二维数组地址赋值给他肯定会报错。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p 是 char *的指针。
word 是 指向 char[10]的指针,两者肯定不相等了。
p + 1: 指针只是加了1而已。
word + 1:指针跳了10个位置。
word 是 指向 char[10]的指针,两者肯定不相等了。
p + 1: 指针只是加了1而已。
word + 1:指针跳了10个位置。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
&p = word;//改成这样
word[5][10] 是指针的指针
word[5][10] 是指针的指针
追问
貌似木有用的说。。。TT
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询