Информация об изменениях

Сообщение массив, ссылка или указатель? от 03.02.2017 19:38

Изменено 06.02.2017 12:19 Кодт

массив, ссылка или указатель?
Как сделать, чтобы примерно такой код компилировался?

template<class T,size_t sz>
inline void reset(T(&x)[sz] )
{

}

template<class T>
inline void reset(T* x)
{

}

template<class T>
inline void reset(T& x)
{

}

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{

    int nRetCode = 0;
    
    char mass[10];
    char *pmass=mass;


    reset(mass);// error C2668: 'reset': ambiguous call to overloaded function
    reset(pmass);
    reset(nRetCode);    
    return nRetCode;
}
массив, ссылка или указатель?
Как сделать, чтобы примерно такой код компилировался?

template<class T,size_t sz>
inline void reset(T(&x)[sz] )
{

}

template<class T>
inline void reset(T* x)
{

}

template<class T>
inline void reset(T& x)
{

}

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{

    int nRetCode = 0;
    
    char mass[10];
    char *pmass=mass;


    reset(mass);// error C2668: 'reset': ambiguous call to overloaded function
    reset(pmass);
    reset(nRetCode);    
    return nRetCode;
}