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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AndreyZ01
1 / 1 / 0
Регистрация: 28.10.2010
Сообщений: 112
#1

неоднозначный 'operator +' - C++

18.08.2011, 03:25. Просмотров 1010. Ответов 7
Метки нет (Все метки)

Розробка проекта МFC.
Одно документный проект.
Открытие файла для записи и в рядку додавания информации в файл ругается на это:
неоднозначный 'operator +'
Строка:
C++
1
CString tmp=T.XX1()+(CString)","+T.XX2()+(CString)","+T.XX3();
Добавлено через 4 минуты
З.Ы. Ругается на первый знак "+"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.08.2011, 03:25     неоднозначный 'operator +'
Посмотрите здесь:

Перезагрузка операторов "неоднозначный operator" - C++
Не знаю в ту ли группу пишу, но все же.... Для моего класса есть несколько операторов присвоения const MyStr& operator +=(const MyStr&...

Неоднозначный вызов конструктора - C++
class Verylong{ public: Verylong (long x = 0) { enter(x);} Verylong (const Verylong& vrl) : _sign(vrl._sign),...

Неоднозначный базовый класс - C++
Есть класс Object - базовый для всех класов. Есть класс - интерфейс Comparable<T> template<typename T> class Comparable :...

Неоднозначный вызов перегруженной функции - C++
Ввести с клавиатуры число n. Динамически выделить память для массива целых чисел размером n. Заполнить массив данными с клавиатуры....

Неоднозначный вызов перегруженной функции - C++
#include "stdafx.h" #include <cstdlib> #include <iostream> #include <math.h> #include <Windows.h> #include <iomanip> #include...

Error C2872: Keyboard: неоднозначный символ - C++
Недавно начал изучать и при написании игры столкнулся с такой проблемой. "error C2872: Keyboard: неоднозначный символ" Не могу понять...

Неоднозначный вызов перегруженной функции (sqrt) - C++
Вот в программе написано: int n, b; n = sqrt(b); // <-- Неоднозначный вызов перегруженной функции... Может формат записи не тот ?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryLaptev
Эксперт С++
1039 / 818 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
18.08.2011, 03:29     неоднозначный 'operator +' #2
AndreyZ01, тут надо знать тип T.XX...
B часто помогает просто разбить на 3 выражения отдельных.
Далее, наверное лучше писать CString(",") - наверняка в классе Cstring усть соответствующий конструктор. Мож это сразу поможет.
AndreyZ01
1 / 1 / 0
Регистрация: 28.10.2010
Сообщений: 112
18.08.2011, 03:40  [ТС]     неоднозначный 'operator +' #3
Сделал вот так:
C++
1
2
3
CString tmp=T.XX1()+CString(",");
CString sio=T.XX2()+CString(",");
CString dds=T.XX3()+CString(",");
К сожалению не помогло, те же самое пишет.

Добавлено через 4 минуты
Возможно ли ошибка из-за того, что переменная ХХ1 типа float ?
ValeryLaptev
Эксперт С++
1039 / 818 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
18.08.2011, 03:44     неоднозначный 'operator +' #4
Цитата Сообщение от AndreyZ01 Посмотреть сообщение
Сделал вот так:
C++
1
2
3
CString tmp=T.XX1()+CString(",");
CString sio=T.XX2()+CString(",");
CString dds=T.XX3()+CString(",");
К сожалению не помогло, те же самое пишет.

Добавлено через 4 минуты
Возможно ли ошибка из-за того, что переменная ХХ1 типа float ?
Ну нифига себе ты даешь!
Дробное число складываешь со строкой!
Понятно, что компилятор не сообразит: то ли складывать числа, то ли сцеплять строки.
Поскольку результат - строка, то надо все в строковый вид привести - тебе надо же сцепить строки, как я понял...
AndreyZ01
1 / 1 / 0
Регистрация: 28.10.2010
Сообщений: 112
18.08.2011, 03:46  [ТС]     неоднозначный 'operator +' #5
Мне нужно, чтобы в файл записало данные из функции ХХ1 затем знак "," затем ХХ2 и так далее
grizlik78
Эксперт С++
1908 / 1440 / 110
Регистрация: 29.05.2011
Сообщений: 2,995
18.08.2011, 03:48     неоднозначный 'operator +' #6
Если все XX float, то, наверное, такое должно подойти:
C++
1
2
CString tmp;
tmp.Format(_T("%g,%g,%g"), T.XX1(), T.XX2(), T.XX3());
ValeryLaptev
Эксперт С++
1039 / 818 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
18.08.2011, 03:48     неоднозначный 'operator +' #7
Цитата Сообщение от AndreyZ01 Посмотреть сообщение
Мне нужно, чтобы в файл записало данные из переменной ХХ1 затем знак "," затем ХХ2 и так далее
1. Файл, очевидно, текстовый, раз тебе там запятые нужны.
2. Преобразуй дробное число в строку-то! Стандартных средств в С++ дофига! Да и в MFC должно быть.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2011, 03:57     неоднозначный 'operator +'
Еще ссылки по теме:

Ругается на неоднозначный вызов перегруженной функции - C++
Делаю все по примерам не могу понять в чем ошибка. Уверен что ошибка элементарная. Ругается на неоднозначный вызов перегруженной функции....

неоднозначный вызов перегруженной функции pow - C++
Ошибка 1 error C2668: pow: неоднозначный вызов перегруженной функции 2 IntelliSense: существует более одного экземпляра перегруженная...

Ошибка: неоднозначный вызов перегруженной функции - C++
Ошибка:= error C2668: TCalc::TCalc: неоднозначный вызов перегруженной функции myclass\myclass.cpp MyClass TCalc.cpp #include...

неоднозначный уровень доступа, идентификатор не найден - C++
Hi people! Задание: 1) Необходимо построить иерархию классов согласно схеме наследования, приведенной в варианте задания. 2) Каждый...

pow: неоднозначный вызов перегруженной функции - C++
#include <iostream> using namespace std; int main() { int i; double res= {0},r; i=0;r=0; cout.setf(ios::fixed); ...


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

Или воспользуйтесь поиском по форуму:
AndreyZ01
1 / 1 / 0
Регистрация: 28.10.2010
Сообщений: 112
18.08.2011, 03:57  [ТС]     неоднозначный 'operator +' #8
Плохо вот что, в МFC нету режима отладки, есть, но не такой как в обычных с++ проектах и нельзя увидеть, сохранило ли оно данные в переменную или нет.
В результате программа выдаёт 0.000000
Yandex
Объявления
18.08.2011, 03:57     неоднозначный 'operator +'
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru