有人可以解释为什么以下代码不起作用吗?我找不到任何资源来解释命名空间、类和标识符如何组合在一起。当您执行 my_class::my_member 时,my_class:: 部分不是命名空间吗?它是什么?
#include <iostream>
class my_class {
public:
static void my_member() {
std::cout << "worked" << std::endl;
}
};
int main() {
using namespace my_class; // error: 'my_class' is not a namespace-name
my_member(); // error: 'my_member' was not declared in this scope
my_class::my_member(); // works
}
作为一个更普遍的问题:有没有一种方法可以引用静态类成员,而无需每次都执行 my_class:: namespace/ identifier/ ?
代替
my_class::my_member_1
my_class::my_member_2
我只是想
my_member_1
my_member_2
这可能吗?谢谢你。