作者:我只当你的千纸鹤 | 来源:互联网 | 2023-08-19 00:14
Paddle*p1,p2;变量声明。p1newPaddle(1,h2-3);p2newPaddle(w-2,h2-3);创建变量。然而vscode却提示错误:nooperatorm
Paddle* p1, p2;
变量声明。
p1 = new Paddle(1, h/2 - 3);
p2 = new Paddle(w-2, h/2 - 3);
创建变量。
然而vscode却提示错误:
no operator "=" matches these operands -- operand types are: Paddle = Paddle *C/C++(349)
查阅书籍发现原因,在C++中,指针是一种复合类型,比如int* 是指向int的指针,对每个指针变量名,都需要使用一个 * 。
于是上面的声明有两种修改方式:
Paddle* p1, * p2;
或者:
Paddle* p1;
Paddle* p2;
参考:
《C++ Primer Plus(第6版)中文版》 4.7.1 声明和初始化指针
原文链接:https://www.cnblogs.com/mrlonely2018/p/14832113.html