Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.22;
Скачать: CL | DM;

Вниз

C++ рулит   Найти похожие ветки 

 
Kerk ©   (2006-09-28 20:45) [0]

typedef map<string, int> vertex_map;
typedef pair<string, int> vertex_pair;

...

Следующий кусок кода не работает
int CConversionFacts::AddVertex(string &name) {
vertex_map::iterator i;
i = vmap.find(name);


Текст ошибки ;)

Error 1 error C2784: "bool std::operator <(const std::_Tree<_Traits> &,const std::_Tree<_Traits> &)" : could not deduce template argument for "const std::_Tree<_Traits> &" from "const std::string" c:\program files\microsoft visual studio 8\vc\include\functional 143

Кто виноват и что делать?


 
default ©   (2006-09-28 20:58) [1]


> Следующий кусок кода не работает


> и что делать?

наверно, хочешь поговорить об этом?;)


 
wl ©   (2006-09-28 20:58) [2]

vmap что такое?


 
wl ©   (2006-09-28 21:00) [3]

вообще ошибка заключается в том, что при операции сравнения (в find наверняка используется) не удается привести тип строки к нужному


 
Kerk ©   (2006-09-28 21:04) [4]

> [2] wl ©   (28.09.06 20:58)
vmap что такое?

Забыл
vertex_map vmap;


 
wl ©   (2006-09-28 21:18) [5]

вот нашел примерчик. Может стл не умеет строки сравнивать?

struct ltstr
{
 bool operator()(const char* s1, const char* s2) const
 {
   return strcmp(s1, s2) < 0;
 }
};

int main()
{
 map<const char*, int, ltstr> months;
 
 months["january"] = 31;
 months["february"] = 28;
 months["march"] = 31;
 months["april"] = 30;
 months["may"] = 31;
 
 cout << "june -> " << months["june"] << endl;
 map<const char*, int, ltstr>::iterator cur  = months.find("june");
 map<const char*, int, ltstr>::iterator prev = cur;
 map<const char*, int, ltstr>::iterator next = cur;    
 ++next;
 --prev;
 cout << "Previous (in alphabetical order) is " << (*prev).first << endl;
 cout << "Next (in alphabetical order) is " << (*next).first << endl;
}


 
Ketmar ©   (2006-09-28 21:22) [6]

оффтоп:
ужос. и это они называют "языком"...

%-)


 
JudasP   (2006-09-28 21:28) [7]


> Kerk ©   (28.09.06 20:45)  

В том коде, который ты привел нет ошибки.


> wl ©   (28.09.06 21:18) [5]
> Может стл не умеет строки сравнивать?

У std::string есть перегруженный operator<


 
Kerk ©   (2006-09-28 21:35) [8]

> [7] JudasP   (28.09.06 21:28)

Компилятору скажи


 
wl ©   (2006-09-28 21:36) [9]

в с++билдере тоже ошибка не выдается на этом коде...


 
Kerk ©   (2006-09-28 21:41) [10]

У меня VS2005


 
Celades   (2006-09-28 21:43) [11]


> Kerk ©   (28.09.06 21:41) [10]
> У меня VS2005

Тоже нет ошибок. Давай больше кода


 
Kerk ©   (2006-09-28 21:51) [12]

#pragma once
#include <vector>
#include <map>
using namespace std;

class CTest
{
private:
typedef map<string,int> vertex_map;

vertex_map vmap;
public:
bool CTest::AddVertex(string name) {
 vertex_map::iterator i;
 i = vmap.find(name); // если закоментировать, ошибки не будет
 return true;
}
};


 
Celades   (2006-09-28 21:54) [13]


> Kerk ©   (28.09.06 21:51) [12]

А #include <string> кто будет писать? Компилятор не ясновидящий, хотя и умный:)


 
Kerk ©   (2006-09-28 21:55) [14]

> [13] Celades   (28.09.06 21:54)

Компилятор туповат
Ругнуться Undeclared identifier на string ему никто не мешал.


 
Celades   (2006-09-28 21:57) [15]


> > [13] Celades   (28.09.06 21:54)
>
> Компилятор туповат
> Ругнуться Undeclared identifier на string ему никто не мешал.
>

Сам стд::стринг он видел(он просто не в файле "string" определен), а вот operator< нет


 
Cyrax ©   (2006-09-28 22:51) [16]

Ketmar ©   (28.09.06 21:22) [6]
оффтоп:
ужос. и это они называют "языком"...
%-)

А я тащусь...

з.ы.ж. ...особенно с бодуна...


 
Ketmar ©   (2006-09-28 22:53) [17]

>[16] Cyrax(c) 28-Sep-2006, 22:51
>А я тащусь...
некропроктопаталогоанатомия мозга. %-)


 
default ©   (2006-09-28 23:26) [18]

кошмарный код...фу


 
Cyrax ©   (2006-09-28 23:57) [19]

default ©   (28.09.06 23:26) [18]
кошмарный код...фу

Подумалось, вдруг:
что если C#-иста посадить за C++. Что станет с памятью... Вот он настоящий УЖОС.

з.ы. участь кодера - не только прикладное програмирование...


 
default ©   (2006-09-29 00:00) [20]

Cyrax ©   (28.09.06 23:57) [19]
я не C#-ик если что


 
default ©   (2006-09-29 00:05) [21]

я не паскалян, не шарпей, не приплюснутый, .... я Человек!:)


 
Marser ©   (2006-09-29 00:14) [22]

> [19] Cyrax ©   (28.09.06 23:57)
> default ©   (28.09.06 23:26) [18]
> кошмарный код...фу
>
> Подумалось, вдруг:
> что если C#-иста посадить за C++. Что станет с памятью...
> Вот он настоящий УЖОС.

Это всё равно, что с автоматической коробки передач пересесть на ручную.


 
Cyrax ©   (2006-09-29 00:48) [23]

default ©   (29.09.06 00:05) [21]
я не паскалян, не шарпей, не приплюснутый, .... я Человек!:)

А вот я виртуальный coder...
...немного приплюснутый... слева...
...но не от C++, а от C#...
...за его чудесную способность подавлять всякую инициативу программиста...
...за способность вести программиста на поводу у Microsoft"а...
...за способность извилиновыпрямления и щупоизгибания...

з.ы. Кучка (#)



Страницы: 1 вся ветка

Текущий архив: 2006.10.22;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.036 c
2-1160205479
NikIta88
2006-10-07 11:17
2006.10.22
Странное поведение OpenDialog


6-1148550756
борменталь
2006-05-25 13:52
2006.10.22
широковещательные сообщения


3-1156772682
novill
2006-08-28 17:44
2006.10.22
Кто знает где IBExpert хранит рег. информация по базам?


15-1159783567
Slider007
2006-10-02 14:06
2006.10.22
С днем рождения ! 28 сентября


15-1159418753
Climber
2006-09-28 08:45
2006.10.22
sql-запросы