C++ C++;类、指针、构造函数、分段错误、2D数组

C++ C++;类、指针、构造函数、分段错误、2D数组,c++,class,pointers,header-files,class-constructors,C++,Class,Pointers,Header Files,Class Constructors,.h文件 初始化类(*1dArrayObjectPtr)[size]=nullptr然后分配给: cpp文件 public: Class(int x, int y); //constructor for this question private: char (*1dArrayObjectPtr)[size] = nullptr; char nameof2dArray[notImportantX][size]; 或: 当我访问as时,为什么顶部选项会导致分段错误,而底部选项不会导致分段错误:

.h文件

初始化
类(*1dArrayObjectPtr)[size]=nullptr然后分配给:

cpp文件

public:
Class(int x, int y); //constructor for this question

private:
char (*1dArrayObjectPtr)[size] = nullptr;
char nameof2dArray[notImportantX][size];
或:

当我访问as时,为什么顶部选项会导致分段错误,而底部选项不会导致分段错误:

*(*(1DArrayObjectPtr+i)+j)
1DArrayObject[i][j]

如果我将
1DArrayObjectPtr
传递给一个新类,我是否能够迭代该类

Class::Class(int x, int y) : x(x), y(y), 1DArrayObjectPtr(nameof2dArray) {};
迭代为
*(*(newClassPtr+i)+j)
newClassPtr[i][j]


还是我将一维指针从2D数组更改为其他数组而没有意识到?

Scheff已经在语义上确认了这一点,没有区别。我将寻找基类的构造函数,看看它们是否是罪魁祸首。谢谢谢夫。我试图将您的评论标记为解决方案,但我可能错误地将其标记为…:D

谢谢MikeCAT提供的格式帮助<代码> 1DRAYObjutpTr> /Cord>绝对不是C++中的有效标识符。(这不能崩溃->这不能运行->这不能编译。)我知道。这是一个概念问题,我提出了一个。实际上,在构造函数中初始化成员和赋值成员之间没有区别(关于构造后的结果):也许,我把你的问题搞错了。。。
Class::Class(int x, int y) : x(x), y(y), 1DArrayObjectPtr(nameof2dArray) {};
newClass::newClass(char* 1DArrayObjectPtr) : newClassPtr(1DArrayObjectPtr) {};