Я пытаюсь включить rapidxml в мой текущий проект.Однако он не будет собираться.
Visual Studio будет жаловаться на этот фрагмент кода (rapidxml.hpp: 419 + 451):
419: void *memory = allocate_aligned(sizeof(xml_attribute<Ch>));
420: xml_attribute<Ch> *attribute = new(memory) xml_attribute<Ch>;
Компилятор скажет
rapidxml.hpp (420): ошибка C2061: синтаксическая ошибка: идентификатор «память»
И я как бы вижу, как это может запутать компилятор.Меня это тоже немного смущает.Что делает (memory)
часть new(memory) xml_attribute<Ch>
там?
Если я удаляю эту часть (memory)
, она прекрасно компилируется.
Кроме того, gcc прекрасно компилирует, включая (memory)
.
Редактировать:
О, и я перегрузил new
с помощью DEBUG_NEW
, чтобы выполнить некоторую отладку памяти.DEBUG_NEW
не поддерживает размещение новых.