#include <iostream>
using namespace std;
class Base1
{
public:
void display()const{cout<<"Base1::display()"<<endl;}
};
class Base2:public Base1
{
public:
void display()const{cout<<"Base2::display()"<<endl;}
};
class Derived:public Base2
{
public:
void display()const{cout<<"Derived::display()"<<endl;}
};
void fun(Base1 *ptr)
{
ptr->display();
}
int main()
{
Base1 base1;
Base2 base2;
Derived derived;
fun(&base1);
fun(&base2);
fun(&derived);
return 0;
}
错误提示是这样的。1>------ 已启动生成: 项目: 类型兼容规则实例, 配置: Debug Win32 ------
1>正在链接...
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
1>F:\C++练习\类型兼容规则实例\Debug\类型兼容规则实例.exe : fatal error LNK1120: 1 个无法解析的外部命令
1>生成日志保存在“file://f:\C++练习\类型兼容规则实例\类型兼容规则实例\Debug\BuildLog.htm”
1>类型兼容规则实例 - 2 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
1>F:\C++练习\类型兼容规则实例\Debug\类型兼容规则实例.exe : fatal error LNK1120: 1 个无法解析的外部命令
1>生成日志保存在“file://f:\C++练习\类型兼容规则实例\类型兼容规则实例\Debug\BuildLog.htm”
1>类型兼容规则实例 - 2 个错误,0 个警告
字数限制,前后删了一点。
因为你的代码是一段控制台程序代码,入口是main函数,而这个提示则是说找不到WinMain函数,而这个函数应该是win32程序的入口。怀疑你的工程不是一个控制台程序,在项目属性设置中找到“链接器”-->“系统”-->“子系统”,看一下是否是控制台,若不是则改为控制台试试。