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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
serjeka
1 / 1 / 0
Регистрация: 17.08.2010
Сообщений: 81
#1

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

26.06.2012, 13:44. Просмотров 2330. Ответов 2
Метки нет (Все метки)

Мне выкидывает ошибку при сборке.

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: неоднозначный вызов перегруженной функции
Посмотрите здесь:
C++ Ошибка: error C2668: abs: неоднозначный вызов перегруженной функции - C++
C++ Ошибка 2, error C2668: pow: неоднозначный вызов перегруженной функции
C++ Error C2668: pow: неоднозначный вызов перегруженной функции
C++ Error C2668: sqrt: неоднозначный вызов перегруженной функции
C++ Error C2668: std::to_string: неоднозначный вызов перегруженной функции
C++ Ошибка C2668: mult: неоднозначный вызов перегруженной функции
Ошибка C2668: sqrt: неоднозначный вызов перегруженной функции C++
C++ Ошибка: неоднозначный вызов перегруженной функции
Ошибка sin: неоднозначный вызов перегруженной функции C++
C++ Неоднозначный вызов перегруженной функции
C++ Неоднозначный вызов перегруженной функции
C++ Ошибка "sin: неоднозначный вызов перегруженной функции"

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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 ))))

а вот второй вариант - сработал!!! спасибо огромнейшее!!)))
Ответ Создать тему
Опции темы

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