我的编码或数据类型存在问题。错误说“表达式必须具有指针对象类型”。我不知道如何解决这个问题。
#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;
}
拜托,有没有人知道你的解决方案?
答案 0 :(得分:0)
你的id
是一个int,但你像数组一样使用它:
id[0]+id[1]
答案 1 :(得分:0)
您将id
声明为int
,但随后尝试在其上使用[]
运算符。编译器对此感到“困惑”,并且正在尽力通过在int
上使用运算符来弄清楚你的意思 - 它能做到的最好就是告诉你表达式必须是指向对象的指针(换句话说,它告诉你它不能在int
类型的东西上使用运算符 - 而应该是指针或对象。)
答案 2 :(得分: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;
}
Yeilds: 1 8 9