У меня есть следующий C++ код:C++ недействителен преобразование Int * до Int
#include <iostream>
using namespace std;
template<class T>
T f(T x, T y)
{
return x+y;
}
int f(int x, int y)
{
return x-y;
}
int main()
{
int *a=new int(3), b(23);
cout<<f(a,b);
return 0;
}
я получаю эти ошибки: недопустимое преобразование из 'междунар *' на 'Int'
инициализирующий аргумент 1 из «Int F (int, int) '. Что это значит ?
Благодаря
'a' - это' int * ', но функция ожидает' int'. – tkausl
Переменные 'a' и' b' имеют разные и несовместимые типы. –
Что вы ожидаете от типа 'a', и что вы ожидаете от' b'? – JVApen