这样的事情只是出现在另一个问题中,引起了我的兴趣.鉴于此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怎么办?