string 二维数组 指针 c++解决方案
string 二维数组 指针 c++
c++如何使用二维字符串数组指针进行初始化及赋值?
例如:
string **str=new string *[8];
for(int i=0;i<2;i++)
for(int j=0;j<8;j++)
{
*(*(str+i)+j)="aaaa";
}
出现 mess.exe 中的 0x00123906 处有未经处理的异常: 0xC0000005: 读取位置 0xcdcdcde5 时发生访问冲突 错误;
求大神指导二维字符串数组的使用
------解决思路----------------------
这样就行:
------解决思路----------------------
看1L
你只分配了第一级数组的内存
却没有分配第二级的内存
------解决思路----------------------
string **str=new string *[2];
for(int j=0;j<8;j++)
{
str[i] = new string[8];
}
for(int i=0;i<2;i++)
for(int j=0;j<8;j++)
{
*(*(str+i)+j)="aaaa";
}
应该用这种方法
------解决思路----------------------
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
c++如何使用二维字符串数组指针进行初始化及赋值?
例如:
string **str=new string *[8];
for(int i=0;i<2;i++)
for(int j=0;j<8;j++)
{
*(*(str+i)+j)="aaaa";
}
出现 mess.exe 中的 0x00123906 处有未经处理的异常: 0xC0000005: 读取位置 0xcdcdcde5 时发生访问冲突 错误;
求大神指导二维字符串数组的使用
------解决思路----------------------
这样就行:
int main(void)
{
string **str = new string*[8];
for (int i = 0; i < 8; i++) *(str + i) = new string("aaaa");
return 0;
}
------解决思路----------------------
看1L
你只分配了第一级数组的内存
却没有分配第二级的内存
------解决思路----------------------
string **str=new string *[2];
for(int j=0;j<8;j++)
{
str[i] = new string[8];
}
for(int i=0;i<2;i++)
for(int j=0;j<8;j++)
{
*(*(str+i)+j)="aaaa";
}
应该用这种方法
------解决思路----------------------
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。