Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Шаблоны С++ (DEV C++)


Рекомендуемые сообщения

всем доброго времени суток, подскажите, пож, почему при вызове функции происходит ошибка,

"...call of overloaded `swap(int&, int&)' is ambiguous", (что-то вроде: вызов перегруженной функции двусмысленный)

#include <iostream>using namespace std;template <typename T>void swap(T& a, T& b);int main(){int i = 10;int j = 20;cout << "i, j = " << i << ", " << j << ".\n";cout << "using int swap:\n";swap(i, j);cout << "now i, j = " << i << ", " << j << ".\n";double x = 24.5;double y = 81.7;cout << "x, y = " << x << ", " << y << ".\n";cout << "using double swap:\n";swap(x, y);cout << "now x, y = " << x << ", " << y << ".\n";system("pause");return 0;}template <typename T>void swap(T& a, T& b){ T temp; temp = a; a = b; b = a;}
Ссылка на комментарий
Поделиться на другие сайты

little_greg:

Похоже, у тебя конфликт двух функций swap: определенной тобой и существовавшей раньше. Попробуй заменить имя функции swap на другое, скажем, swapm

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...