【发布时间】:2011-03-23 22:23:28
【问题描述】:
为什么不能在我的构造函数中初始化我的字符串数组?我收到以下错误: 内部编译器错误:分段错误|
在构造函数的这两行: 西装= {“俱乐部”,“钻石”,“红心”,“黑桃”}; 面额 = {"Ace","2","3","4","5","6","7","8","9","10","Jack","Queen" "国王"};
class Card
{
public:
Card(int n);
Card(string d, string s);
int getNumber();
string getDenomination();
string getSuit();
void setNumber(int n);
void setDenomination(string d);
void setSuit(string s);
void printMe();
void compareMe(Card c);
private:
int number;
string denomiation;
string suit;
string suits [4];
string denominations [13];
};
Card::Card(int n)
{
suits = {"Clubs", "Diamonds", "Hearts", "Spades"};
denominations = {"Ace","2","3","4","5","6","7","8","9","10","Jack","Queen","King"};
int denIndex, suitIndex;
denIndex = 51 % 13;
suitIndex = 51 / 13;
number = n;
denomiation = denominations[denIndex];
suit = suits[suitIndex];
}
【问题讨论】:
-
你的错误编译器叫什么名字?
-
您不是在尝试初始化它,而是在尝试分配它,而复合语法(大括号内的一堆值)不适用于分配。
标签: c++ arrays constructor initialization