好的,所以我创建了自己的类,并且重载了运算符""s
,以便可以将其用于字符串形成。
但是,编译时出现错误,我不知道这意味着什么。
有人可以解释一下它的含义以及如何解决吗?
我的代码:
PString operator"" s(const char* text, std::size_t len) {
return PString(std::string(text, len));
}
我的错误:
error: ‘PString PString::operator""s(const char*, std::size_t)’ must be a non-member function
PString operator"" s(const char* text, std::size_t len) {
最佳答案
好的,所以在问这个问题之前,我对某些事情感到困惑。因为我在类内部添加了其他运算符重写,所以我认为我也应该在类内部添加operator"" s
。但显然并非如此。
我将其保留为对@ user0042给我的答案的引用。
这就是为我解决问题的原因。