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 时发生访问冲突  错误;
求大神指导二维字符串数组的使用
------解决思路----------------------
这样就行:

int main(void)
{
string **str = new string*[8];
for (int i = 0; i < 8; i++) *(str + i) = new string("aaaa");
return 0;
}

------解决思路----------------------
引用:
一维字符串数组指针使用没有问题,但是二维字符串数组使用指针就会报错??
比如我想定义一个二维字符串数组 string **str;如何利用循环控制,按行列号给其赋值?


看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即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。