我想發佈這個,因爲我不確定使用簡單的賦值語句時遇到了什麼問題。我正在做一個家庭作業,要求我在一個簡單的程序中編寫結構和函數來繪製出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;
}
這是方式,方法太長。 –
您正在使用'「*」'',它是一個字符串,而不是'*'',它是一個字符。 –
下一次,發佈一個簡短(但完整)的問題的例子... –