Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2012, 13:41   #1
Жека90
Пользователь
 
Регистрация: 18.11.2010
Сообщений: 16
По умолчанию Выдает ошибку

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

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>СБОЙ построения.

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

for(int i=0; i<255; i++)
td.Data[i] = (char)rand()%255;

td.dwTicks -= GetTickCount();
td.dwTicks = abs(td.dwTicks);

ClientQueue.push(td);

Есть идеи?
Жека90 вне форума Ответить с цитированием
Старый 26.06.2012, 13:43   #2
rlib
Форумчанин
 
Аватар для rlib
 
Регистрация: 22.05.2012
Сообщений: 352
По умолчанию

Код:
#include <cmath>
std::abs
rlib вне форума Ответить с цитированием
Старый 26.06.2012, 14:04   #3
Жека90
Пользователь
 
Регистрация: 18.11.2010
Сообщений: 16
По умолчанию

не прокатило...
namespase std
не удается определить экземпляр перегруженная функция std::abs использование которого предполагается...




все, разобрался! надо было исправить на

long delta = td.dwTicks - GetTickCount();
td.dwTicks = (unsigned long)abs(delta);

либо же перевести ф-ию к другому типу:

abs( double(td.dwTicks) );


все равно спасибо за внимание!))

Последний раз редактировалось Жека90; 26.06.2012 в 14:27.
Жека90 вне форума Ответить с цитированием
Старый 26.06.2012, 22:13   #4
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Жека90 Посмотреть сообщение
Мне выкидывает ошибку при сборке.

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>СБОЙ построения.

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

for(int i=0; i<255; i++)
td.Data[i] = (char)rand()%255;

td.dwTicks -= GetTickCount();
td.dwTicks = abs(td.dwTicks);

ClientQueue.push(td);

Есть идеи?
Есть идея посмотреть, какой тип у мембера: td.dwTicks
Есть подозрение, что он не double


Ежели такой:

Код:
typedef unsigned long       DWORD;
То стало быть, нужно либо тип поля менять, или воспользоваться услугами явного приведения

Последний раз редактировалось _Bers; 26.06.2012 в 22:17.
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выдает ошибку ВрединкаИринка Общие вопросы Delphi 2 18.06.2012 20:46
Выдает ошибку Ol'ga Общие вопросы Delphi 0 22.05.2012 00:05
выдает ошибку (C++) Carter Помощь студентам 2 10.03.2012 17:37
выдает ошибку(( aanaaa Общие вопросы C/C++ 3 26.05.2011 07:13
выдает ошибку! maksim_serg Microsoft Office Word 3 20.04.2010 04:19