Bien, he intentado usar Google-sensei y buscar en este sitio web, y aunque he encontrado muchas publicaciones sobre este error , No he encontrado ninguno que se haya dirigido a enumeraciones. Además, todos los que he visto han sido alguien tratando de asignar un tipo a otro, uso indebido de 'nuevo', etc. Por lo que puedo decir, ese no es el caso en este caso.conversión de 'KanjiCard *' a tipo no escalar 'KanjiCard' solicitada (enum personalizada)
Como se indica en el título, me aparece un error conversion from 'KanjiCard*' to non-scalar type 'KanjiCard' requested
al intentar compilar el programa en el que estoy trabajando usando g ++.
tengo una clase llamada KanjiCard que tiene esta enumeración definido públicamente-:
enum KanjiCardType {
KANJI_CARD = 1,
KEYWORD_CARD = 2
};
El constructor de la clase se define como sigue:
KanjiCard(char *cardText, int cardTextLength, int cardWidth, int cardHeight,
int cardX, int cardY, KanjiCardType cardType, SDL_Color textColor);
(estoy usando en lugar char * de std :: string porque es más fácil trabajar con las bibliotecas que estoy usando de esa manera.)
Lo estoy llamando para crear nuevas tarjetas como tal (aquí es donde aparece el error):
KanjiCard currentCard = new KanjiCard(kanji_line, strlen(kanji_line),
CARD_WIDTH, CARD_HEIGHT, xPos, yPos, cardType, textColor);
cardType
se define como tal: KanjiCard::KanjiCardType cardType = KanjiCard::KANJI_CARD;
principio intenté de paso en donde KanjiCard::KANJI_CARD
cardType
es en esa llamada al constructor en este momento, pero tengo ese error, por lo que he estado tratando todo lo posible piense en intentar que funcione, incluso intente cambiar el parámetro cardType
en el constructor a *cardType
y &cardType
y alterne también con el tipo de cardType
en la llamada, en vano.
Por lo que puedo decir, cardType
no es un puntero, así que realmente no puedo entender por qué estoy recibiendo ese mensaje. Cualquier ayuda sería muy apreciada, ya que estoy en el último momento tratando de resolver esto.
Editar: También debería mencionar que yo también intentó tirar de la enumeración de la clase (y eliminar el prefacio KanjiCard::
, por supuesto), y todavía tenía el mismo problema.
(** facepalms y se ríe) Sí **. eso probablemente sea. xD Gracias por captar eso para mí. Eso me enseñará a programar cuando estoy cansado. ;) – Kanmuri