好的,所以我创建了自己的类,并且重载了运算符""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给我的答案的引用。

这就是为我解决问题的原因。

08-17 04:30