我正在进行一项任务,在这里我们得到一个二维数组,我们需要进行一些计算.
我想将计算的逻辑封装到它自己的类中,所以在我的计算类中,我有成员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)
我希望这不会被解释为"我的工作对我来说",我真的一直试图更好地掌握指针的细微差别,这与我之前理解数组和指针之间的关系相反