Я попробовал следующий код в 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 ++ несколько иной?
В C ++ Builder точка это функция была определена в Classes.hpp. Вы должны изменить свое имя структуры (например, TMyPoint) или использовать структура Ключевое слово в этом случае.
Заметка: В BCB вы можете использовать предопределенные и уже доступные типы для хранения данных точек, таких как POINT, TPoint, …
Других решений пока нет …