请看下面的内容:
考虑以下情况:
#include <iostream>
namespace X
{
void operator ""_test(unsigned long long x)
{
std::cout << x;
}
}
int main()
{
using namespace X;
10_test;
// 10_X::test; /* doesn't work */
}
我可以通过显式使用 using namespace X;
来引用位于 namespace X
内的用户定义字面量操作符。有没有不必显式包含命名空间就能引用字面量操作符的方法? 我尝试过
10_X::test;
但是,当解析器认为X
是操作符的名称时,它自然而然地无法工作。
X::operator ""_test(10)
这个功能可以正常运行,但操作起来不太方便。
using X::""_test;
吗? - Jesper Juhlusing X::operator ""_test
。 - NathanOliver