我想发布这个,因为我不确定使用简单的赋值语句时遇到了什么问题。我正在做一个家庭作业,要求我在一个简单的程序中编写结构和函数来绘制出ASCII字符的形状。现在我只是试图测试我写的函数,并且我正在试图为Circle结构的符号元素赋值,以测试我编写的DrawShape函数。当我尝试给它分配一个* char时,我收到一条错误消息,说“错误:从'const char *'无效转换为'char'”。我会把整个代码放进去,虽然它很长并且没有完成。任何帮助,这将不胜感激。我得到的问题是右主的开头“circle1.char =‘*’”从“const char *”到“char”错误的转换无效
#include <iostream>
#include <math.h>
#include <cstdlib>
using namespace std;
const int NUMBER_OF_ROWS = 26;
const int NUMBER_OF_COLUMNS = 81;
char drawSpace[NUMBER_OF_ROWS][NUMBER_OF_COLUMNS];
struct Point{
int x;
int y;
};
struct Circle{
Point center;
int radius;
char symbol;
bool buffer[NUMBER_OF_ROWS][NUMBER_OF_COLUMNS];
};
bool setCircleRadius(Circle &b, int r);
bool setCircleCenter(Circle &b, int x, int y);
bool moveCircle(Circle &b, int x, int y);
void drawCircle (Circle b);
void lineChars(Line a);
void circleChars(Circle b);
void drawShapes();
int main() {
Circle circle1;
circle1.radius = 5;
circle1.symbol = "*";
circle1.center.x = 40;
circle1.center.y = 10;
drawCircle(circle1);
return 0;
}
这是方式,方法太长。 –
您正在使用'“*”'',它是一个字符串,而不是'*'',它是一个字符。 –
下一次,发布一个简短(但完整)的问题的例子... –