-2

我的编码或数据类型有问题。错误说“表达式必须具有指向对象的类型”。我不知道如何解决这个问题。

#include <iostream>
#include <conio.h>

using namespace std;

int main() {
    int id, year, dates;

    cout << "Enter the ID number ";
    cin >> id;

    year = id[0] + id[1] + 1900;
    cout << year;
    getch();
    return 0;
}

请问,有没有人知道你的解决方案?

4

3 回答 3

0

您可以做一些简单的数学运算来访问您 ID 的各个数字:

#include <iostream>
using namespace std;

int main(void)
{
    int id = 189;

    cout << id / 100 % 10 << endl;
    cout << id / 10 % 10 << endl;
    cout << id / 1 % 10 << endl;

    return 0;
}

产量:1 8 9

于 2013-10-20T05:18:09.563 回答
0

id是一个 int 但你像一个数组一样使用它:

id[0]+id[1]
于 2013-10-20T05:00:33.387 回答
0

您声明idint,然后尝试[]在其上使用运算符。编译器对此感到“困惑”,并且正在尽最大努力通过在 an 上使用运算符来弄清楚您的意思int- 它可以做的最好的事情是告诉您表达式必须是指向对象的指针(换句话说,它告诉你它不能在某种类型的东西上使用运算符int- 而它应该是一个指针或一个对象)。

于 2013-10-20T05:01:49.267 回答