Форум программистов, компьютерный форум CyberForum.ru

Error: ambiguous overload for 'operator<<' (operand types are 'std::ofstream {aka std::basic_ofstream<char>}' - C++

Восстановить пароль Регистрация
 
 
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
25.11.2014, 20:05     Error: ambiguous overload for 'operator<<' (operand types are 'std::ofstream {aka std::basic_ofstream<char>}' #1
error: ambiguous overload for 'operator<<' (operand types are 'std::ofstream {aka std::basic_ofstream<char>}' and 'size_t {aka long long unsigned int}')|
на
C++
1
#define LOG(Variable) Log<<"<"; Log<<StripXML(#Variable)<<">"<<std::endl<<"<Bits>x"<<std::dec<<std::noshowbase<<8*sizeof(Variable)<<std::hex<<std::showbase<<"</Bits>"<<std::endl<<"<Line>"<<std::dec<<std::noshowbase<<__LINE__<<std::hex<<std::showbase<<"</Line>"<<std::endl<<"<Adress>"<<(void*)&Variable<<"</Adress>"<<std::endl<<"<Value>"; Log<<Variable<<"</Value>"<<std::endl<<"</"; Log<<StripXML(#Variable)<<">"<<std::endl
. Как исправить?

Добавлено через 1 час 13 минут
Проблема решена, но не понята:
C++
1
#define LOG(Variable) Log<<"<"; Log<<StripXML(#Variable)<<">"<<std::endl<<"<Bits>x"<<std::dec<<std::noshowbase<<8*sizeof(Variable)<<std::hex<<std::showbase<<"</Bits>"<<std::endl<<"<Line>"<<std::dec<<std::noshowbase<<__LINE__<<std::hex<<std::showbase<<"</Line>"<<std::endl<<"<Adress>"<<(void*)&Variable<<"</Adress>"<<std::endl<<"<Value>"; Log<<Variable; Log<<"</Value>"<<std::endl<<"</"; Log<<StripXML(#Variable)<<">"<<std::endl
.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2014, 20:05     Error: ambiguous overload for 'operator<<' (operand types are 'std::ofstream {aka std::basic_ofstream<char>}'
Посмотрите здесь:

(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const& C++
C++ ошибка в программе (cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*')
IntelliSense: отсутствует оператор "<<", соответствующий этим операндам типы операндов: std::basic_ostream<char, std::char_traits<char> C++
C:\Projects\mmz\Compile\CompileAMD64\mmzCompileAMD64\TProjec t.cpp|74|error: declaration of 'std::ofstream File' shadows C++
C++ Error LNK2019: ссылка на неразрешенный внешний символ "class std::basic_ostream<char,struct std::
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.11.2014, 11:22  [ТС]     Error: ambiguous overload for 'operator<<' (operand types are 'std::ofstream {aka std::basic_ofstream<char>}' #21
Цитата Сообщение от MrGluck Посмотреть сообщение
И чем не устраивает шаблонная функция?
1. О какой функции речь?
2. Энто как функция достучится до имени параметра?

Добавлено через 42 секунды
Цитата Сообщение от MrGluck Посмотреть сообщение
советую либу pugixml.
Зачем?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,409
26.11.2014, 11:26     Error: ambiguous overload for 'operator<<' (operand types are 'std::ofstream {aka std::basic_ofstream<char>}' #22
Цитата Сообщение от taras atavin Посмотреть сообщение
2. Энто как функция достучится до имени параметра?
Этого сразу не заметил.
Цитата Сообщение от taras atavin Посмотреть сообщение
Зачем?
Для вывода xml.

Можно было бы макрос разделить на несколько строк с помощью \
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2014, 11:38     Error: ambiguous overload for 'operator<<' (operand types are 'std::ofstream {aka std::basic_ofstream<char>}'
Еще ссылки по теме:

C++ Почему возникает ошибка? error: ambiguous overload for 'operator>>'
Странная перегрузка операторов (Error: ambiguous overload for 'operator[]') C++
C++ Чтение бинарного файла в поток std::ifstream и вывод в другой бинарный файл std::ofstream (создание копии)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.11.2014, 11:38  [ТС]     Error: ambiguous overload for 'operator<<' (operand types are 'std::ofstream {aka std::basic_ofstream<char>}' #23
Цитата Сообщение от MrGluck Посмотреть сообщение
Для вывода xml.
Я и так его вывожу.
Yandex
Объявления
26.11.2014, 11:38     Error: ambiguous overload for 'operator<<' (operand types are 'std::ofstream {aka std::basic_ofstream<char>}'
Ответ Создать тему
Опции темы

Текущее время: 14:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru