C++ 连续声明指针变量

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