如何比较矢量字符串中字符串的字符?

时间:2016-04-05 05:36:35

标签: c++ vector

vector<string> color;
color.push_back("RBBG");
color.push_back("RBBBBG");
if (color [1] [2] == "B"){
     cout<<"it is blue";
}

它出现以下错误:

error: ISO C++ forbids comparison between pointer and integer [-fpermissive] if (colors [i] [m] == "R")

P.S :提供的代码只是一段代码,为了解决问题不相关的东西而进行了一些编辑:D

我如何实现目标?

2 个答案:

答案 0 :(得分:3)

colorstd::string的向量。

color[1]std::string

color[1][1]是一个char类型的字符。

"R"是一个字符串文字,类型为const char *

注意两种类型中恒星的不同数量(0对1)。字符不是字符串,你不能将它们与另一个字符进行比较。

您可能希望使用字符文字而不是字符串文字,例如'R'(请注意单引号)。

答案 1 :(得分:1)

color是一个字符串向量,在字符串的每个索引处都是一个字符,而不是字符串。
if条件更改为if (color [1] [2] == 'B')