This question already has answers here:
C++ function called without object initialization

(7个答案)



Undefined, unspecified and implementation-defined behavior

(8个答案)


3年前关闭。




如果我有一个矩形类
class Rectangle{

 private:
   double width;
   double height;


   public:
      void    Set(double w , double l){
          width   = w;
          height  = l;
      }
};

我取消了这样的对象:
Rectangle *Obj;

然后使用Set function as
Obj->Set(6.0, 9.0);

该程序运行并且没有显示任何错误,而根据我的说法,它应该显示错误,因为我尚未初始化指针。

最佳答案

使用未初始化的指针是未定义行为。这意味着实现可以执行任何所需的操作,或者什么都不做。

该行为只是未定义。

关于c++ - 为什么不访问未初始化的指针不会显示任何错误? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32963735/

10-13 00:02