我已经看到了很多有关指针初始化的问题,但最近找不到令我困扰很多的答案。为什么在gcc上起作用?

class C {
};

/* other stuff here */

typedef C* pTypeC;
C* pOtherTypeC = pTypeC(0);

在typedef上使用“(0)”以NULL初始化指针是否有效?

最佳答案

问题在于pTypeC(0)被认为是强制转换操作。

C* pOtherTypeC = (pTypeC) (0);

希望这可以帮助!

09-12 09:35