Tôi có lớp (prototipe) sau đây:C++ std :: stringstream operator << quá tải
class Token
{
public:
//members, etc.
friend std::stringstream& operator<< (std::stringstream &out, Token &t);
};
Và các nhà điều hành được thực hiện như thế này:
std::stringstream & operator<< (std::stringstream &out, Token &t)
{
out << t.getValue(); //class public method
return out;
}
Bây giờ, tôi đang cố gắng để sử dụng nó như thế này:
std::stringstream out;
Token t;
//initialization, etc.
out << t;
Và VS mang lại cho tôi lỗi, nói rằng không có phù hợp cho < < nhà điều hành. Tôi đang làm gì sai?
Chào mừng bạn đến SO. Khi bạn cung cấp mẫu mã, hãy giữ cho chúng một đoạn mã duy nhất, có thể biên dịch được. Và * luôn * cung cấp đầy đủ các lỗi trình biên dịch. – thiton