Ад! Я пытаюсь создать класс, который помог бы мне с выводом текста на стандартный вывод ... Во всяком случае, все работает, кроме одной вещи. Допустим, я создал объект своего класса. Когда я это делаю, все отлично работает:
out<<"test test"<<std::endl;
И это также работает, когда я делаю это:
out<<QString("another string")<<std::endl;
Но когда я пытаюсь соединить эти две вещи вместе, вот так:
out<<"test test"<<std::endl<<QString("another string")<<std::endl;
Я получаю эту супер-большую ошибку, которая в итоге говорит мне, что оператор << не принимает параметр типа QString. Это странно, потому что это работает нормально, когда я не соединяю QString ... Также это работает: </p>
out<<"test test"<<std::endl<<"another string"<<std::endl;
и это:
out<<QString("another string")<<std::endl<<"test test"<<std::endl;
Так что я думаю, у меня проблема с моей функцией operator <<, или я не сделал operator << правильно, или я не вернул правильное значение. Или, может быть, что-то еще не так. Во всяком случае, я не могу понять это, так что вы могли бы мне помочь? Ниже приведен исходный код: </p>
output.h: http://xx77abs.pastebin.com/b9tVV0AV
output.cpp: http://xx77abs.pastebin.com/5QwtZRXc
И конечно, супер-большая ошибка: D
http://xx77abs.pastebin.com/8mAGWn47
РЕДАКТИРОВАТЬ: для всех вас интересно, я не использую пространства имен ...