小编Kan*_*uri的帖子

请求从'KanjiCard*'转换为非标量类型'KanjiCard'(自定义枚举)

好吧,我已经尝试过使用Google-sensei并在这个网站上搜索,虽然我发现了很多关于这个错误的帖子,但我还没有找到任何解决这个问题的帖子.此外,我所看到的所有人都有人试图将一种类型分配给另一种类型,不恰当地使用"新"等等.据我所知,在这种情况下情况并非如此.

正如标题中所述,我conversion from 'KanjiCard*' to non-scalar type 'KanjiCard' requested在尝试编译正在使用g ++的程序时遇到错误.

我有一个名为KanjiCard的类,它具有这个公开定义的枚举:

enum KanjiCardType {
    KANJI_CARD = 1,
    KEYWORD_CARD = 2
};
Run Code Online (Sandbox Code Playgroud)

该类的构造函数定义如下:

    KanjiCard(char *cardText, int cardTextLength, int cardWidth, int cardHeight,
        int cardX, int cardY, KanjiCardType cardType, SDL_Color textColor);
Run Code Online (Sandbox Code Playgroud)

(我正在使用char*而不是std :: string,因为它更容易使用我正在使用的库.)

我打电话给它创建像这样的新卡(这是错误出现的地方):

KanjiCard currentCard = new KanjiCard(kanji_line, strlen(kanji_line), 
    CARD_WIDTH, CARD_HEIGHT, xPos, yPos, cardType, textColor);
Run Code Online (Sandbox Code Playgroud)

cardType 定义如下: KanjiCard::KanjiCardType cardType = KanjiCard::KANJI_CARD;

我最初试图只是路过的KanjiCard::KANJI_CARD地方cardType是在构造函数调用的权利,但我得到的错误,所以我一直在尝试一切我能想到的尝试,并得到它的工作,其中包括试图切换cardType在构造函数参数*cardType&cardType并且搞乱cardType了电话中的类型,但无济于事.

据我所知,cardType不是一个指针,所以我真的无法弄清楚为什么我得到那个消息.任何帮助将不胜感激,因为我在我的智慧结束时试图解决这个问题.

编辑:我还应该提一下,我也尝试将枚举拉出课堂( …

c c++ enums g++

5
推荐指数
1
解决办法
2337
查看次数

标签 统计

c ×1

c++ ×1

enums ×1

g++ ×1