【发布时间】:2015-04-04 14:09:46
【问题描述】:
我有一个代码,我想使用 typeid 关键字显示数组指针的类类型,但是当我写cout <<typeid (Food[1]);编译错误!错误:没有操作符“
class food{
public:
string getkind(){
return kind;
}
virtual void setkind(){
kind = "Apple";
}
// complete the set functions
private:
string kind;
};
int main()
{
food *Food[3];
derived1 obj1;
derived2 obj2;
derived3 obj3;
Food[0]=&obj1;
Food[1] = &obj2;
Food[2] = &obj3;
cout << typeid (food[1]);//Error ! Why?
system("Pause");
return 0;
}
【问题讨论】:
-
什么编译错误?请出示。
-
您需要MCVE 和完整的错误消息。
-
请提供错误信息和编译错误的代码sn-p,这样就帮不上忙了
-
还有编译器名称和用于编译代码的命令行...您可能需要启用 RTTI 才能使其工作。
-
试试
std::cout << typeid(Food[1]).name();