我(非常)是C++的新手,我遇到了一些理解结构的问题.我正在使用课程中的示例代码,所以我有:
struct Point {
int x;
int y;
}
Run Code Online (Sandbox Code Playgroud)
在另一段代码中,我想写下面的内容:
drawLine(point1, new Point(x, y));
Run Code Online (Sandbox Code Playgroud)
这不起作用,我理解我试图声明一个结构就好像它是一个类,但有没有办法做到这一点?我目前编写了一个辅助函数,它从x,y返回一个Point,但这看起来很迂回.
问题不是你试图将结构声明为类似的(事实上,在C++中两者之间的差别很小).
问题是你正在尝试Point从两个构造一个ints,并且没有合适的构造函数.以下是添加方法的方法:
struct Point {
int x;
int y;
Point(int x, int y): x(x), y(y) {}
};
Run Code Online (Sandbox Code Playgroud)