这是一个小测试程序:
#include <iostream>
class Test
{
public:
static void DoCrash(){ std::cout<< "TEST IT!"<< std::endl; }
};
int main()
{
Test k;
k.DoCrash(); // calling a static method like a member method...
std::system("pause");
return 0;
}
在VS2008 + SP1(vc9)上,它可以正常编译:控制台仅显示“ TEST IT!”。
据我所知,不应在实例对象上调用静态成员方法。
我错了吗?从标准角度来看,此代码正确吗?
如果正确,那为什么呢?我找不到为什么会允许使用它,或者可能是为了帮助在模板中使用“静态或非静态”方法?
婷婷同学_
森林海
DIEA
相关分类