我正在尝试为我的stream
班级实现一个操纵器。我对操纵器了解不多,但我认为我做的一切都是正确的。代码的相关部分如下:
class stream
{
public:
stream& operator<<(bool b) { // send bool value and return *this; }
stream& operator<<(const char str[]) { // send string and return *this }
};
inline stream& endl(stream& s)
{
return s << "\r\n";
}
class stream stream;
int main()
{
stream << endl;
}
我不知道我做错了什么,但不是调用endl
编译器而是调用stream::operator<<(bool)
. 任何的想法?