В своем определении оператора &&
вы используете ресурс std::cout
. Однако при вызове &&
вам нужна строка, чтобы перейти к высокоуровневому вызову std::cout
. Вам нужно переписать вашу функцию, чтобы вернуть объект std::string
. Попробуйте избавиться от вызовов std::cout
в функции шаблона. Обычно, однако, оператор &&
является логическим логическим оператором, поэтому вам действительно следует исправить функцию, которая вместо этого возвращает логическое значение, учитывая 2 входа.
Примерно так:
std :: cout << cout << "interval13 && interval24 =" << (doCompare (interval13, interval24)? "EMPTY": "NONEMPTY") << endl; </p>
где doCompare()
принимает аргументы функции возвращаются bool
.
Я бы попытался дать вам рабочее решение, но в настоящее время ваш код не компилируется, и я не вижу ни вашей конечной цели, ни желаемой функциональности.
Дополнительные проблемы:
Вызов exit()
должен вызываться только в main()
, а не в вспомогательной функции, определенной вне main()
. Вы должны вызвать return
, а затем вернуть любой тип возвращаемого значения функции (я не знаю, что именно вы хотите вернуть).
<<
- это оператор, используемый с потоками C ++, такими как ostream
и istream
. Объект std::cout
является выходным потоком, который выводится на консоль.
Я не могу запустить ваш код в его текущем состоянии, но я предлагаю вам больше изучить вопрос о перегрузке оператора .