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

Ошибка: error C2668: abs: неоднозначный вызов перегруженной функции - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
serjeka
1 / 1 / 0
Регистрация: 17.08.2010
Сообщений: 81
26.06.2012, 13:44     Ошибка: error C2668: abs: неоднозначный вызов перегруженной функции #1
Мне выкидывает ошибку при сборке.

1> QueueTest.cpp
1>c:\documents and settings\администратор\рабочий стол\queuetest\queuetest\queuetest.cpp(194): error C2668: abs: неоднозначный вызов перегруженной функции
1> c:\program files\microsoft visual studio 10.0\vc\include\math.h(547): может быть "long double abs(long double)"
1> c:\program files\microsoft visual studio 10.0\vc\include\math.h(499): или "float abs(float)"
1> c:\program files\microsoft visual studio 10.0\vc\include\math.h(495): или "double abs(double)"
1> c:\program files\microsoft visual studio 10.0\vc\include\stdlib.h(471): или "__int64 abs(__int64)"
1> c:\program files\microsoft visual studio 10.0\vc\include\stdlib.h(467): или "long abs(long)"
1> c:\program files\microsoft visual studio 10.0\vc\include\stdlib.h(362): или "int abs(int)"
1> при попытке сопоставить список аргументов "(DWORD)"
1>
1>СБОЙ построения.

вот участок кода:
то что мне подчеркнуло я выделил...

C++
1
2
3
4
5
6
for(int i=0; i<255; i++)
    td.Data[i] = (char)rand()%255;
 
td.dwTicks -= GetTickCount();
td.dwTicks = abs(td.dwTicks);
ClientQueue.push(td);
Есть идеи?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2012, 13:44     Ошибка: error C2668: abs: неоднозначный вызов перегруженной функции
Посмотрите здесь:

error C2668: sqrt: неоднозначный вызов перегруженной функции C++
Ошибка sin: неоднозначный вызов перегруженной функции C++
C++ pow: неоднозначный вызов перегруженной функции
C++ error C2668: sqrt: неоднозначный вызов перегруженной функции
C++ неоднозначный вызов перегруженной функции pow
C++ Неоднозначный вызов перегруженной функции
C++ Неоднозначный вызов перегруженной функции (sqrt)
C++ Неоднозначный вызов перегруженной функции

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
g-h
67 / 67 / 1
Регистрация: 03.06.2012
Сообщений: 176
26.06.2012, 14:08     Ошибка: error C2668: abs: неоднозначный вызов перегруженной функции #2
Попробуй использовать функцию fabs();
C++
1
fabs(td.dwTicks);
Или вот еще вариант. Приведи эту переменную к другому типу:
C++
1
abs( double(td.dwTicks) );
serjeka
1 / 1 / 0
Регистрация: 17.08.2010
Сообщений: 81
26.06.2012, 14:25  [ТС]     Ошибка: error C2668: abs: неоднозначный вызов перегруженной функции #3
Цитата Сообщение от g-h Посмотреть сообщение
Попробуй использовать функцию fabs();
C++
1
fabs(td.dwTicks);
Или вот еще вариант. Приведи эту переменную к другому типу:
C++
1
abs( double(td.dwTicks) );
первый вариант отвергло... пишет тоже самое + сюда же приписывает и ф-ию fabs ))))

а вот второй вариант - сработал!!! спасибо огромнейшее!!)))
Yandex
Объявления
26.06.2012, 14:25     Ошибка: error C2668: abs: неоднозначный вызов перегруженной функции
Ответ Создать тему
Опции темы

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