C ++不匹配'运算符>>'在' std :: cin

时间:2014-11-05 17:25:51

标签: c++ operators cin

在我的结构中,我有一个功能,在这里我想阅读这些行,这些是整数。

以下是Code(C ++)的一部分:

#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string>
#include <fstream>

using namespace std;

struct kunde
    {
      [..]
    }
struct kmph_in_mps
        {
            int kmph[4];
            double result[10];

            void kmph_erfassen() //In english: kmph_read
            {
                cout << "TEST";
                cin >> kmph;
            }

我想从控制台读取km / h。 但我得到:错误:不匹配&#39;运营商&gt;&gt;&#39;在&#39; std :: cin&gt;&gt; KMPH&#39; |

3 个答案:

答案 0 :(得分:1)

默认情况下,您可以执行以下操作:

cin >> single_int;

但是没有操作员可以做

cin >> array_of_ints;

你必须循环:

for (int& k : kmph) {
    cin >> k;
}

或非C ++ 11:

for (int i = 0; i < sizeof(kmph)/sizeof(*kmph); ++i) {
    cin >> kmph[i];
}

答案 1 :(得分:0)

您需要写入kmph数组的每个索引,例如

void kmph_erfassen() //In english: kmph_read
{
    cout << "TEST";
    for (size_t i = 0; i < 4; ++i)
    {
        cin >> kmph[i];
    }
}

答案 2 :(得分:0)

您的数组kmph是一个数组,并且您希望一次读取每个字符:

for (int i = 0; i < 4; i++)
{
    cin >> kmph[i];
}