1

我在 C++ Builder XE4 中尝试了以下代码。

我记得,结构类型名称可以用作类型(无需在变量声明中添加“结构”)。

但是,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++ struct 的 C++ Builder 实现是否有些不同?

4

1 回答 1

3

在 C++Builder中, Point是在Classes.hpp中定义的函数。在这种情况下,您应该更改结构名称(如 TMyPoint)或使用struct关键字。

注意:在 BCB 中,您可以使用预定义且已可访问的类型来存储点数据,例如POINTTPoint、...

于 2013-09-24T06:53:48.997 回答