Объявление структуры в C++ Builder XE4

Я попробовал следующий код в C++ Builder XE4.

Насколько я помню, имя типа структуры может использоваться как тип (нет необходимости добавлять "struct" в объявлении переменной).

Однако C++ Builder XE4 выводит ошибку компиляции для объявления pt1.

struct Point {
    int x, y;
};


void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Point pt1; // error ( E2379 Statement missing ; )

    struct Point pt2;   // no error
}

Тот же код может быть скомпилирован без ошибок на Ideone.com http://ideone.com/kVzrlc

Является ли реализация C++ Builder структуры C++ несколько иной?

1 ответ

Решение

В C++ Builder Point это функция была определена в Classes.hpp. Вам следует изменить имя структуры (например, TMyPoint) или использовать ключевое слово struct в этом случае.

Примечание. В BCB вы можете использовать предопределенные и уже доступные типы для хранения данных точек, такие как POINT, TPoint,...

Другие вопросы по тегам