Я получаю сообщение об ошибке о возвращении заявления (или гипсе) в конечной функции в следующей выдержке из библиотеки заголовка"неверный листинг из типа 'const myClass' для ввода 'int', как я могу сделать его действительным?
///////////////////////////////////////////////////////////
// class __HashMapDefaultProviderT
/**
* @internal
* @class __HashMapDefaultProviderT
* @brief This is an implementation of the IHashCodeProviderT interface for the HashMap class.
* @since 1.0
*/
template<class KeyType>
class __HashMapDefaultProviderT
: public IHashCodeProviderT<KeyType>,
public Object
{
public:
// Lifecycle
/**
* This is the default constructor for this class.
*
* @since 1.0
*/
__HashMapDefaultProviderT(void) {}
/**
* This is the destructor for this class.
*
* @since 1.0
*/
virtual ~__HashMapDefaultProviderT(void) {}
// Operation
/**
* Gets the hash code of the specified object
*
* @since 1.0
* @return The hash code of the specified object
* @see Osp::Base::Object::GetHashCode
*/
int GetHashCode(const KeyType& obj) const
{
return (int)obj;
}
};
ошибка:
недействителен литая из типа «сопзЬ myClass 'to type' int '
Какое исправление для этого? Заголовочный файл называется FBaseColHashMapT.h
Я добавил operator>
и operator<
метод уже, но я не знаю, как еще получить мой класс хэша или как разрешить бросок, который требуется выше, короткий унаследовать, но Я хотел бы посмотреть, могу ли я избежать этого. Чтобы поддержать этих двух операторов, я написал:
inline int GetHashCode() const {return myIntMember/4 + clientRect.GetHashCode();}
Возможно, это может быть повторное использование здесь?
Я поставляет myClass
в качестве ключа к этому классу шаблона и int
в качестве значения.
Что вы пытаетесь сделать? –
Вы используете зарезервированные имена повсюду. Эта архитектура также выглядит как Java, а не хороший дизайн на C++. –
@CarlNorum: Я пытаюсь передать 'myClass', который медленно собирает членов, но должен быть легким, как ключ к параметризованному классу шаблонов. Он мог бы справиться с наследованием от «Object», который определяет этот прилив, но я хотел бы предоставить эту способность, чтобы я мог избежать наследования с объекта «Object» на меньших, более высокопроизводительных классах. – John