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
我如何实现目标?
答案 0 :(得分:3)
color
是std::string
的向量。
color[1]
是std::string
。
color[1][1]
是一个char
类型的字符。
"R"
是一个字符串文字,类型为const char *
。
注意两种类型中恒星的不同数量(0对1)。字符不是字符串,你不能将它们与另一个字符进行比较。
您可能希望使用字符文字而不是字符串文字,例如'R'
(请注意单引号)。
答案 1 :(得分:1)
color
是一个字符串向量,在字符串的每个索引处都是一个字符,而不是字符串。
将if
条件更改为if (color [1] [2] == 'B')