小编Nic*_*ick的帖子

将char [] []分配给char**

我正在进行一项任务,在这里我们得到一个二维数组,我们需要进行一些计算.

我想将计算的逻辑封装到它自己的类中,所以在我的计算类中,我有成员char**,我试图用给定的char arr [5] [5]初始化.我首先尝试做一个c风格的演员,让它编译,但如果我试图尊重我的成员变量会导致段错误.

简而言之,为什么这不起作用

 class MyClass{
      Myclass(char arr[5][5]){
        m_PmyArr = arr; //doesn't work
     }
     char** m_PmyArr;
 };
Run Code Online (Sandbox Code Playgroud)

为什么这会编译,但会在取消引用时导致段错误

class MyClass{
     Myclass(char arr[5][5]){
        m_PmyArr = (char**)arr; //will compile, but will segfault
     }
     char** m_PmyArr;
 };
Run Code Online (Sandbox Code Playgroud)

我希望这不会被解释为"我的工作对我来说",我真的一直试图更好地掌握指针的细微差别,这与我之前理解数组和指针之间的关系相反

c++ arrays

2
推荐指数
1
解决办法
115
查看次数

标签 统计

arrays ×1

c++ ×1