所以我有这个代码,我将问题传递给函数有问题。当我编译时,我得到以下错误:'const Point&'类型的引用的无效初始化来自'const Point *'
类型的表达式struct Point
{
int x,y;
};
void printPoint(const Point& p)
{
cout<<"The X-coordinate is = "<<p.x<<"\nThe Y-coordinate = "<<p.y<<endl;
}
int main()
{
const Point p1 = {3,4};
printPoint(&p1);
}
答案 0 :(得分:1)
&pi
的类型为Point*
(它是该对象的地址),请使用:printPoint(p1);
答案 1 :(得分:1)
参考是隐含的。您不需要&
。实际上,这使它成为一个指针(const Point*
,它不能隐式转换为const Point&
)。只需printPoint(p1);
。
答案 2 :(得分:0)
int main()
{
const Point p1 = {3,4};
printPoint(p1);
}
&p1
提供p1
的地址。
答案 3 :(得分:0)
这需要参考
void printPoint(const Point& p)
但你传递指针
printPoint(&p1);
所以,请使用这个:
printPoint(p1);