Указатель на класс/структуру в качестве ключа hash_map
От: xinax Украина  
Дата: 13.04.06 07:43
Оценка:
При использовании hash_map из STLport с ключем указателем на
класс/структуру возникает ошибка при попытке вставить новый элемент:
"error C2064: term does not evaluate to a function taking 1 arguments"

Помогите пожалуйста разобраться и найти причину ошибки.


VS 7.1
STLPort 5.0


//пример кода:

#include<hash_map>


class ST {};

typedef std::hash_map< char*, char* > MapChar;   //ключ - стандартный тип
typedef std::hash_map< ST*,   char* > MapSt;     //ключ - класс


int main()
{

    MapChar mc;
    MapSt   mst;

    char* ch1 = NULL;
    char* ch2 = NULL;
    ST*   st  = new ST();

    std::pair< char*, char* > pair_mc  = std::make_pair( ch1, ch2 );
    std::pair< ST*,    char*> pair_mst = std::make_pair( st,  ch2 );


    mc.insert ( pair_mc  );    //все отлично
    mst.insert( pair_mst );    //ошибка!

    return 0;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.