在下面的代码中,使用Visual Studio编译器不会引发断言,但是在使用XCode为iPhone编译时会引发该断言:
class X
{
public:
virtual void A() {}
};
X x;
void main()
{
// Define a valid member function pointer to X::A.
void (X::*p)() = &X::A;
assert(p != 0);
}
Run Code Online (Sandbox Code Playgroud)
这是编译器中的错误吗?在这种情况下,如何检查空指针呢?