返回信息流#include "iostream"
#include "stdio.h"
using namespace std;
class parent
{
public:
virtual void output();
};
void parent::output()
{
printf("parent!");
}
class son : public parent
{
public:
virtual void output();
};
void son::output()
{
printf("son!");
}
int main(int argc, char const *argv[])
{
son s = new son();
parent *p = &s;
p->output();
return 0;
}
为什么会出现error: conversion from ‘son*’ to non-scalar type ‘son’ requested 错误呢?如果son s = new son(); 改为son s 则编译通过
这是一条镜像帖。来源:北邮人论坛 / cpp / #76962同步于 2014/2/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[问题] conversion from ‘son*’ to non-scalar type ‘son’
century
2014/2/16镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
不知道我是不是理解错了哈,个人见解~
法一:25行写为 son s; //定义了一个在栈上的对象;
法二:25行写为 son* s = new son; //定义了一个在堆上的对象;
26行 parent *p = dynamic_cast<parent* >(s); //基类指针指向子类的对象;
【 在 gsl2011 的大作中提到: 】
: 下边还有这句呢, parent *p = &s;