在 c++ 中使用数组参数访问单个元素的字符
Accessing individual elements' characters using an array parameter in c++
刚刚开始学习c++,我正在制作21点。我将玩家的手牌设置为一串纸牌,例如:手牌[1]=❤2手牌[2]=❤J
我已经做了一个函数来加所有的卡片在卡片数组的值,但我遇到了一个问题:
int handValue(string hand[]){
int handSum;
//returns value of total amount of cards in hand+1
int numCards = nextCard(hand);
string value;
for (int i = 0; i < numCards ; i++){
//Checks the second character of a card to find a value (1,2,3...T,J,Q,K)
string value = hand[i][1];
if (value == "T" || value == "J"|| value == "Q" || value == "K") {
handSum += 10;
}
}
return handSum;
}
这一行就是我遇到问题的地方:
string card = hand[i][1];
产生错误:
从'char'到'const char*'的转换无效。
为什么我得到这个错误,我如何修复它?谢谢!
hands[i][1]
返回一个char
,并且没有以单个char
作为参数的std::string
类的构造函数。
这里不需要字符串,您可以使用char
类型代替:
char value = hands[i][1];
if (value == 'T' || value == 'J'|| value == 'Q' || value == 'K')
handSum += value;
要注意变量的types
。c++是一种strongly typed
语言,可以区分one char
和an array of chars
。不要被const char *
搞糊涂了…把它看作你的数组。
char fullValue[] = hand[i]; //gets the element at position i
char oneLetter = fullValue[1]; //gets char 1 from our fullValue array
相关文章:
- 尝试从单向链表C++中删除单个节点时出现读取访问冲突
- 媒体基金会可以允许多个客户端同时访问单个网络摄像头设备吗?
- 如何从C 向量访问单个单词
- 通过单个实例从多个类访问一个类
- c++ 访问单个链表中的特定值
- 如何为用户生成单个访问令牌
- 访问文件中的单个字符效率低下?(C++)
- 访问单个类型的可变参数模板
- 访问CV :: MAT_16UC1的单个元素
- 在单个链接列表中间删除一个节点,仅给定对该节点的访问
- 多个应用程序访问的单个进程
- 访问指针数组/通过另一个指针并删除数组中的单个元素而不删除第一个指针或整个数组
- 垫子类型转换和访问单个像素时出现问题
- 分叉服务器,单个文件 - r/w 访问
- OpenCV 3.1.0:从 UMat 访问单个元素
- 在c++中的字符串类数组中不打印任何内容,即使我可以访问单个元素
- 使用单个索引访问子矩阵的有效方式
- 单个对象访问c++中的两个函数
- RapidXML使用以前的属性值访问单个属性值
- 如何访问单个TListViewItem上的文本按钮