小编Kno*_*oep的帖子

在不存在的对象上调用静态成员函数

这样的事情只是出现在另一个问题中,引起了我的兴趣.鉴于此Foo声明如下:

struct Foo
{
     static void bar() {std::cout << "Bar!";}
};
Run Code Online (Sandbox Code Playgroud)

做这样的事似乎工作得很好:

std::vector<Foo> v;
v[10].bar();
Run Code Online (Sandbox Code Playgroud)

但是,这种用法实际上是否合法?如果bar()没有宣布static怎么办?

c++ static language-lawyer

4
推荐指数
1
解决办法
111
查看次数

标签 统计

c++ ×1

language-lawyer ×1

static ×1