Volevo postare questo perché non ero veramente sicuro di quale problema stavo avendo con una semplice dichiarazione di assegnazione. Sto facendo un compito a casa che mi chiede di scrivere le strutture e le funzioni in un semplice programma per disegnare forme di caratteri ASCII. In questo momento sto solo provando a testare le funzioni che ho scritto, e sto cercando di assegnare un valore all'elemento simbolo di una struttura Circle solo per testare la funzione DrawShape che ho scritto. Quando provo ad assegnarlo a * char, ricevo un messaggio di errore che dice "errore: conversione non valida da 'const char *' a 'char'". Inserirò l'intero codice, sebbene sia molto lungo e incompleto. Qualsiasi aiuto con questo sarebbe apprezzato. Il problema che sto ottenendo è proprio nel inizio della principale "circle1.char = '*'"Conversione non valida da errore "const char *" a "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;
}
Questo è il modo, troppo a lungo. –
Stai usando '" * "', che è una stringa, invece di ''*'' che è un carattere. –
La prossima volta, inserisci un BREVE (ma completo) esempio del problema ... –