Spe*_*cer 11 c++ parameters enums
如果我有一个像这样的简单类用于卡:
class Card {
public:
enum Suit { CLUBS, DIAMONDS, HEARTS, SPADES };
Card(Suit suit);
};
Run Code Online (Sandbox Code Playgroud)
然后我想在另一个文件中创建一个卡的实例如何通过枚举?
#include "Card.h"
using namespace std;
int main () {
Suit suit = Card.CLUBS;
Card card(suit);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
错误:此范围内未声明'Suit'
我知道这有效:
#include "Card.h"
using namespace std;
int main () {
Card card(Card.CLUBS);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是如何在另一个文件中创建Suit类型的变量?
das*_*ang 13
用于Card::Suit
在不在Card范围内时引用类型.......实际上,你也应该像这样引用西装; Card.CLUBS
编译时我有点惊讶,我一直认为你必须这样做Card::CLUBS
.
小智 6
Suit是类Card命名空间的一部分,因此请尝试:
Card::Suit suit = Card::CLUBS;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
48741 次 |
最近记录: |