Я определяю в классе А < < оператор так: Ах:не может связывать 'станд :: basic_ostream' именующая к 'станд :: basic_ostream <char> &&'
class API_name A {
friend API_name std::ostream& operator<<(std::ostream& o, const A&a);
}
a.cpp:
ostream& operator<<(ostream& o, const A& a);
в другом файле, включая Ах, я хочу сделать это:
void fonction(const A* a) {
std::cout << "a contains : " << *a << std::endl;
}
На этой линии, я НКА возвращает следующую ошибку:
ошибка: не может связывать «станд :: basic_ostream» именующие к «станд :: basic_ostream & &»
Может кто-нибудь сказать мне, почему и как этого избежать ошибка компиляции?
и находится в определении упоминалось. Я сделал ошибку ввода, когда я писал вопрос, и я получаю эту ошибку компиляции. – FlashMcQueen
@FlashMcQueen: Тогда проблема не в коде, который вы опубликовали, по крайней мере, насколько мы можем видеть. Вам может потребоваться опубликовать [mcve]. Например, что такое '' имя_процессора'' и как ваши классы и функции расположены в пространствах имен? – AndyG
ОК, я сделаю это. – FlashMcQueen