gpt4 book ai didi

c++ - VS 2017 告诉我我正在尝试转换变量,但我没有

转载 作者:行者123 更新时间:2023-11-30 04:48:41 25 4
gpt4 key购买 nike

我正在尝试设置一个函数,该函数使用一些数组从类中的私有(private)部分构建一副纸牌。该函数仍在同一个类中,但它在公共(public)部分中。但是 Visual Studio 调试器告诉我没有合适的函数可以将字符串转换为字符。我的代码中没有任何 char 变量,也没有尝试转换它。两个数组都是字符串。

它最初是一个二维数组进入一维数组,但我将其更改为 2 个单独的数组以查看它是否有效,但它仍然告诉我我正在尝试转换。

class Cards {
private:

string deckcontents[13]{"A","2","3","4","5","6","7","8","9","10","J","K","Q"};
string cardshape[4]{ "H", "S", "D", "C" };
string deck[52]{};

public:

int generaterandcardnum() {
int num1 = NULL;
for (int i = 0; i < 13; i++) {
num1 = rand() % 10;
}
return num1;
}

int generaterandcardsuit() {
int num2 = NULL;
for (int i = 0; i < 4; i++) {
num2 = rand() % 10;
}
return num2;
}

void builddeck(string cards)
{
int cardnum = generaterandcardnum();
int cardsuit = generaterandcardsuit();
string card = deckcontents[cardnum] + cardshape[cardsuit];
int j = 0;
for (int i = 0; i < 4; i++) {
for (int k = 0; k < 13; k++) {
//This is where the problem lies
cards[j] = card;

//.cpp(58): error C2440: '=': cannot convert from 'std::string' to 'char'

j = j + 1;
}

}
return;
}
};

最佳答案

您正在尝试使用 cards[j] 访问字符串中的字符,因为 cards 是一个字符串。

要访问数组中的特定卡片,您需要更改函数的签名:

void builddeck(string cards[])

关于c++ - VS 2017 告诉我我正在尝试转换变量,但我没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55738242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com