単純な代入文でどのような問題が発生しているかわからなかったので、これを投稿したいと思いました。私は、シンプルなプログラムで構造体や関数を記述してASCII文字の形を描くように求めている宿題をしています。今は私が書いた関数をテストしようとしているだけで、私が書いたDrawShape関数をテストするためにCircle構造体のsymbol要素に値を代入しようとしています。それを* 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;
}
これは、あまりにも長い道のりです。 –
あなたは ''*''の代わりに文字列である '' * "'を使用しています。 –
次回は、問題のSHORT(しかし完全な)例を投稿してください... –