Я использую функцию шаблона:
template<typename T> void func(const T& value)
{
obj->func(value);
}
где obj - объект класса:
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) { ... }
Проблема в uint8_t перегрузке my_object :: func () переопределении. Линкер жалуется на неразрешенные внешние символы для перегрузок, которые должны иметь unsigned char параметр.
Должен ли я заменить uint8_t перегрузку на unsigned char перегрузку?
Редактировать: Только сейчас заметил, что компоновщик жалуется на uint64_t и int64_t тоже.
Я компилирую в Windows, используя MSVC ++ 2008 Express .
Редактировать: Извинения, я объявлен my_object :: func (значение uint8_t) функция (и другие), но я не определил это. 1039 *