内建数组出现不允许的类型不完整错误
Incomplete type not allowed error for built in array
当我试图声明这个被诅咒的数组时,它"告诉"我不允许使用不完整的类型,我自己做了它,当它无故不起作用时,我从下面的教程(网站上的课程(中得到了同一段代码,但它仍然不起作用,有什么帮助吗?
#include <iostream>
enum CardSuit
{
SUIT_CLUB,
SUIT_DIAMOND,
SUIT_HEART,
SUIT_SPADE,
MAX_SUITS
};
enum CardRank
{
RANK_2,
RANK_3,
RANK_4,
RANK_5,
RANK_6,
RANK_7,
RANK_8,
RANK_9,
RANK_10,
RANK_JACK,
RANK_QUEEN,
RANK_KING,
RANK_ACE,
MAX_RANKS
};
struct Card
{
CardRank rank;
CardSuit suit;
};
int main()
{
std::array<Card, 52> deck {};
for (int suit = 0; suit < MAX_SUITS; ++suit)
for (int rank = 0; rank < MAX_RANKS; ++rank)
{
deck[card].suit = static_cast<CardSuit>(suit);
deck[card].rank = static_cast<CardRank>(rank);
++card;
}
return 0;
}
您需要#include <array>
还有:
这些是错误的:
deck[card].suit = static_cast<CardSuit>(suit);
deck[card].rank = static_cast<CardRank>(rank);
索引(deck[ index ]
(应该使用整型来完成,并且card
没有声明。
size_t card=0; // add this
for (int suit = 0; suit < MAX_SUITS; ++suit)
for (int rank = 0; rank < MAX_RANKS; ++rank)
{
deck[card].suit = static_cast<CardSuit>(suit);
deck[card].rank = static_cast<CardRank>(rank);
++card;
}
相关文章:
- 类没有命名C++代码中的类型错误
- 不完整类型错误(E0409、E0070、E0515)
- 使用具有结构不完整类型错误的模板
- 不命名构造函数和析构函数上的类型错误
- 返回派生类型时出现协变类型错误
- 为什么此构造函数没有给出不完整的类型错误?
- 定义模板化结构的特征时出现不完整的类型错误
- 使用重载构造函数时出现不完整的类型错误
- 为什么我得到表达式必须有类类型错误?
- 输出 [left]=input[i] 行中的 c++ 代码中存在无效的类型错误
- 枚举成员不是类型错误
- 如何修复"ctypes"。参数错误:参数 2:<键入"异常.类型错误">:RaspberryPi 中的错误类型"错误
- 外部 "C" Visual Studio 2015 中的显式类型错误,DLL 测试代码
- 非默认析构函数会导致不完整的类型错误
- 为什么按引用传入会导致绑定引用类型错误
- Objective-C C++ 包装器 类型错误的不完整定义
- 输入类型错误
- 当构造函数的参数类型错误时引发异常
- 命名空间中的'bad_cast' 'std' 未命名类型错误
- C UNWORKOWN类型错误