ठीक है, मैं गूगल-सेंसेई का उपयोग करने और इस वेबसाइट पर चारों ओर खोज की कोशिश की है, और मैं इस त्रुटि के बारे में कई पदों मिल गया है, जबकि , मुझे कोई भी ऐसा नहीं मिला है जिसने enums को संबोधित किया है। इसके अलावा, सभी लोगों को मैंने देखा है या तो किसी दूसरे के लिए एक प्रकार असाइन करने की कोशिश की गई है, 'नए', आदि के अनुचित उपयोग जहाँ तक मेरा बता सकते हैं, कि नहीं इस उदाहरण में मामला है।रूपांतरण
जैसा कि शीर्षक में बताया गया है, मुझे प्रोग्राम को संकलित करने का प्रयास करते समय conversion from 'KanjiCard*' to non-scalar type 'KanjiCard' requested
त्रुटि मिल रही है, मैं g ++ का उपयोग करने पर काम कर रहा हूं।
मैं एक वर्ग KanjiCard नामित ने इसे सार्वजनिक रूप से परिभाषित enum है कि है:
enum KanjiCardType {
KANJI_CARD = 1,
KEYWORD_CARD = 2
};
वर्ग के लिए निर्माता के रूप में निम्नानुसार परिभाषित किया गया है:
KanjiCard(char *cardText, int cardTextLength, int cardWidth, int cardHeight,
int cardX, int cardY, KanjiCardType cardType, SDL_Color textColor);
(मैं चार उपयोग कर रहा हूँ * बजाय std :: string का कारण है क्योंकि पुस्तकालयों के साथ काम करना आसान है। मैं
मैं इसे नए कार्ड बनाने के लिए बुला रहा हूं (यह वह जगह है जहां त्रुटि आती है):
KanjiCard currentCard = new KanjiCard(kanji_line, strlen(kanji_line),
CARD_WIDTH, CARD_HEIGHT, xPos, yPos, cardType, textColor);
cardType
इस तरह के रूप में परिभाषित किया जाता है: KanjiCard::KanjiCardType cardType = KanjiCard::KANJI_CARD;
मैं मूल रूप से सिर्फ KanjiCard::KANJI_CARD
जहां cardType
अभी कि निर्माता कॉल में शामिल है में गुजर कोशिश की, लेकिन मुझे लगता है कि त्रुटि मिली, तो मैं सब कुछ कोशिश कर रहा है मैं कर सकता कोशिश करते हैं और यह काम करने के लिए प्राप्त करने के लिए, *cardType
और &cardType
के निर्माता में cardType
पैरामीटर स्विचन की कोशिश कर रहा है और कॉल में cardType
के प्रकार के साथ चारों ओर खिलवाड़ साथ ही कोई लाभ नहीं हुआ, सहित के बारे में सोच।
जहाँ तक मैं कह सकता हूं, cardType
एक सूचक नहीं है, इसलिए मैं वास्तव में यह नहीं समझ सकता कि मुझे यह संदेश क्यों मिल रहा है। किसी भी मदद की सराहना की जाएगी, क्योंकि मैं अपने बुद्धिमानी के अंत में यह पता लगाने की कोशिश कर रहा हूं।
संपादित करें: मैं भी मैं भी कक्षा से बाहर enum खींच (और KanjiCard::
प्रस्तावना को हटाने, निश्चित रूप से) की कोशिश की, और अब भी वही समस्या हुई कि उल्लेख करना चाहिए।
(** facepalms और हंसते हुए कहते हैं **) हां। शायद यह होगा। एक्सडी मेरे लिए यह पकड़ने के लिए धन्यवाद। जब मैं थक गया हूं तो वह कोड को सिखाएगा। ;) – Kanmuri