我试图比较一个字符串的字符数与数组的索引元素,但我有麻烦。 例如,如果userInput等于XX,输出应该是:比较字符串和数组C++
XX不是阵列中的位置0
XX是在位置阵列1
XX不处于阵列在位置2.
arr[] = {"X", "XX", "XXX"};
string userInput;
cin >> userInput;
for (int i = 0; i < userInput.length(); i++)
{
if (userInput[i] == arr[i])
{
cout << userInput << " is in the array at position " << i << endl;
}
else
{
cout << userInput << " is not in the array at position " << i << endl;
我收到此错误,我不知道如何解决它。我相当新的编程,所以任何帮助将是伟大的。谢谢。
无效的操作数的二进制表达式( 'INT' 和 '字串'(又名 'basic_string的,分配器>'))
对不起,应该提到。我有:使用命名空间标准;在我的代码的开始。 – Mludbey
@Mludbey解决此类问题的正确工具是使用您的调试器,但在此之前不要询问Stack Overflow。告诉我们您在检查您的代码时所做的所有观察。您也可以阅读[**如何调试小程序(由Eric Lippert撰写)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)**] At最少给我们留下一个** [MCVE] **,它可以再现您的问题。 (这是个人评论,由πάνταῥεῖ™提供) –
对不起,我错误地读了你的程序并对其进行了解释。你有'arr []'在开始时没有任何类型,这使我走错了路。这是'字符串arr []'?如果是这样,你只需要说'if(userInput == arr [i])'而不是你所拥有的。 –