|
|
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
пишет: ! error C2059: syntax error : '(' и указывает на блок в файле list: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. строка: new ((void *)_Pnode) _Node(_Next, _Prev, _Val); что это значит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 14:10:46 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
Покажи код, где list создаешь Программист - это шаман, но зачем же сразу в бубен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 14:22:57 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 14:25:14 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
Tubrik Код: plaintext И ещё код где этот лист пользуешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 14:28:46 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
Tubrikпишет: ! error C2059: syntax error : '(' и указывает на блок в файле list: А с какой среды файл <list> В 2005 студии следующее Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 14:39:57 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 14:41:27 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
Tubrik строка: new ((void *)_Pnode) _Node(_Next, _Prev, _Val); вот именно это означает создание(размещение) _Node на уже выделенной памяти _Pnode ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 14:52:44 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
Tubrik Код: plaintext 1. Что такое line? Вообще весь кусок (функцию) приведи. Желательно всегда воспроизводить ошибку в маленькой тестовой программе и ее текст публиковать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 14:54:30 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
Tubrik Код: plaintext 1. Вот это пашет без проблем Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 14:56:36 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
Нужен кусок кода, откуда инстанцирован list ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 14:57:44 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
в отдельном куске кода все пашет.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 15:40:14 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
Тогда ищем непарную скобочку, непоставленную ; и тому подобное Tubrikв отдельном куске кода все пашет.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 15:46:34 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
причина вот в чем: Код: plaintext 1. 2. 3. это означает, что я не могу использовать переопределенные new для отлова ликов, если использую list ? (с vector все компилится нормально)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 15:48:17 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
Ну почему, если define Будет стоять после #include от stl все будет ок. А с vector ты просто не наступил, должно быть и там ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 16:43:13 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
нет, с вектором нормально работает, не могу понять почему.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 17:31:49 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
Эпт, ты поставь свой define в первой строчке и попробуй ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 17:49:29 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
blindedЭпт, ты поставь свой define в первой строчке и попробуй он стоит в stdafx.h, т.е. для всех одинаково ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 18:15:46 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
Tubrik wrote: > причина вот в чем: > > #ifdef _CRTDBG_MAP_ALLOC > #define new new(_NORMAL_BLOCK, __FILE__, __LINE__) > #endif /* _CRTDBG_MAP_ALLOC */ > > > это означает, что я не могу использовать переопределенные new для отлова > ликов, если использую list ? (с vector все компилится нормально)? Нет, не получится. Кстати, похоже, что этот косяк есть только в VC2003. В VC2005 поля инициализируются раздельно. Может взять реализацию от VC2005? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 19:02:14 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
Вот ведь настырные. Не косяк это, а вполне законное выражение. Поэтому так лучше не делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 19:25:37 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
blinded wrote: > Не косяк это, а вполне законное выражение. Действительно, не косяк. Я подумал, что приведено определение new из crtdbg.h. > Поэтому так лучше не делать Согласен. Подобное переопределение new очень неудобно, так, как работает только для простейших случаев. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 20:03:47 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
как сделать правильное переопределение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 22:29:26 |
|
||
|
не получается создать std::list<std::string> lst;
|
|||
|---|---|---|---|
|
#18+
Tubrik wrote: > как сделать правильное переопределение? Правильно, или нет - я делаю так: разделяю new как оператор, выделяющий память и инициализирующий участок памяти. То есть не использую явно void * operator new(size_t, void *), заменяя его на функции конструирования объектов: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. все это выносится в отдельный головной файл, что облегчает последующую интеграцию с отладчиком выделения памяти. А для взаимодействия с отладчиком выделения памяти создается другой макрос: Код: plaintext 1. 2. 3. 4. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 11:51:21 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34885930&tid=2027965]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
307ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 229ms |
| total: | 655ms |

| 0 / 0 |
