You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译C++ OOP代码时遭遇‘undefined reference to WinMain’错误求助

解决‘undefined reference to WinMain’错误

错误根源

这个链接错误和头文件、类的实现逻辑无关,核心问题是你的程序缺少程序入口函数。在Windows平台下,控制台程序需要定义main()作为启动入口,GUI程序需要WinMain();而你的代码仅实现了Animal和Mammal类的结构与成员函数,完全没有编写入口函数,导致链接器找不到程序启动的起点。

修复方案

1. 添加控制台入口函数main()

在你的cpp文件末尾补充以下代码:

int main() {
    // 示例测试代码,可根据需求修改
    Mammal cat("橘猫", Brown);
    cat.speak();
    cat.move();
    cat.eat();

    return 0;
}

添加后,程序就有了合法的启动入口,链接器就能正常完成编译。

2. 排查编译选项(若使用MinGW)

如果编译时误加了-mwindows选项,编译器会默认寻找WinMain()作为GUI程序入口。检查编译命令,若存在该选项,删除即可恢复对main()的识别。

代码小提醒

你的Mammal构造函数中,Mammal::getName()的调用逻辑没问题,但注意COLOR枚举仅定义了Green/Blue/White/Black/Brown,测试时要使用这些已有的枚举值。


内容的提问来源于stack exchange,提问作者Xavier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 04:01:16