Объявление структуры в 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,...