Почему эта функция, перегруженная для трех целочисленных типов, не компилируется? - PullRequest
0 голосов
/ 23 сентября 2011

Эта попытка определить перегруженную функцию для трех целых чисел не удалась.Почему?

byte hack(byte x)
{
   return x+1;
}

unsigned short hack(unsigned short x)
{
   return x+2;
}

unsigned int hack(unsigned int x)
{
   return x+3;
}

Компилятор сообщает мне: zzz.cpp: 98: ошибка: переопределение «unsigned int hack (unsigned int)» zzz.cpp: 88: ошибка: «byte hack (byte)»ранее определено здесь

Ответы [ 2 ]

9 голосов
/ 23 сентября 2011

Ваш компилятор / код считает, что byte и unsigned int - это одно и то же ...

0 голосов
/ 23 сентября 2011

Перегруженные функции могут отличаться только количеством своих параметров и / или типами, а не типом возврата.Итак, это три разные функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...