sto usando la funzione template:uint8_t e unsigned char collega errore
template<typename T> void func(const T& value)
{
obj->func(value);
}
dove obj è oggetto della classe:
void my_object::func(int64_t value) { ... }
void my_object::func(uint64_t value) { ... }
void my_object::func(uint32_t value) { ... }
void my_object::func(uint16_t value) { ... }
void my_object::func(uint8_t value) { ... }
Il problema è con uint8_t sovraccarico my_object :: func() override. Linker si lamenta di simboli esterni non risolti per sovraccarichi, che devono hanno il parametro senza segno char.
Devo sostituire uint8_t sovraccarico con unsigned char sovraccarico?
Edit: Proprio ora notato, che linker lamenta uint64_t e int64_t troppo.
Compilare su Windows utilizzando MSVC++ 2008 Express.
Edit: Scuse, ho dichiaratomy_object :: func (valore uint8_t) funzione (e altro), ma non definiti esso.
Per inciso, qual è il tuo compilatore? –
MSVC++ 2008 Express – mnn
Qual è il messaggio di errore ** esatto ** che stai ottenendo? –