Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: Алекс Кэш   (15.11.2011 в 19:37)
Добрый вечер.
Столкнулся со следующей странной проблемой:
При попытке перегрузить оператор вывода в поток << компилятор воспринимает его как оператор побитового сдвига, а необходимо именно как вывод в поток воспринимать.
Пример кода

class TestClass
{
public:
TestClass();
~TestClass();
std::ostream& operator<<(std::ostream& out, const TestClass& c);//на эту строку пишет ошибку
int i;
int j;
};

std::ostream& operator<<(std::ostream& out, const TestClass& c)
{
out<<"i="<<c.i;
out<<" s="<<c.s;
return out;
}

ошибка
1>e:\alfa96\keepout96\akfunction.h(46): error C2804: binary 'operator <<' has too many parameters

как быть? подскажите в чем дело?


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: