E0075 “*“ 的操作数必须是指针,但它具有类型 “int“

时间:2025-04-19 07:46:54
#include<iostream>
using namespace std;
#define pi 3.14;
class cycle {
public:
	int r;
	double ccycle() {
		return 2 * pi * r;
	}
};

错误原因: define的最后3.14带有分号;   此时,pi被替换为 3.14; 而非3.14

在第八行pi被提前结束,该行语句实际为

return 2 * 3.14;
*r;

r类型为int,不可被*解引,只有指针类型才可被解引