|
|
|
Проблем с переносом кода с шестой на седьмую версию(VC6 -> VC7)
|
|||
|---|---|---|---|
|
#18+
Привет, народ! Есть странная проблема в седьмой майкрософтовской студии. Рабочий код не хочет компилироваться в VC-7. Ниже приведу пример, как воспроизвести проблему. Может у кого есть мысли?? Заранее спасибо. class CMyBase; #include <map> using namespace std; #include <memory> using std:auto_ptr; typedef auto_ptr<CMyBase> MyBasePtr; typedef map<int, MyBasePtr> MAP_COLUMNS; class CMyBase { public: CMyBase() { } virtual ~CMyBase() { } virtual MyBasePtr Clone(void) const { return MyBasePtr(new CMyBase()); } virtual MyBasePtr Test() { MAP_COLUMNS _map; MAP_COLUMNS::iterator itr = _map.begin(); MAP_COLUMNS _map2; _map2[0] = itr->second->Clone() ;// ВОТ ТУТ ПРОБЛЕМА!! return MyBasePtr(NULL); } }; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 16:59 |
|
||
|
Проблем с переносом кода с шестой на седьмую версию(VC6 -> VC7)
|
|||
|---|---|---|---|
|
#18+
Радуйся что он не компилируется, раньше компилятор это пропускал с легкостью, но это ошибка, причем трудно уловимая при тестировании. Смысл сего в следующем: никогда не используй auto_ptr в стандартных контейнерах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 10:50 |
|
||
|
|

start [/forum/topic.php?fid=57&gotonew=1&tid=2035846]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
8ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 354ms |

| 0 / 0 |
