dogo_d 2022-02-13 19:12 采纳率: 100%
浏览 156
已结题

vs2019无法解析外部符号问题如何解决(错误代码:LNK2019)

问题遇到的现象和发生背景

使用void定义函数后在main函数中使用,报错(错误代码:LNK2019和LNK1120)
错误 LNK2019 无法解析的外部符号 _main,函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中引用了该符号 the fourth chapter E:\visual studio\c++\the fourth chapter\the fourth chapter\MSVCRTD.lib(exe_main.obj)

问题相关代码,请勿粘贴截图
void act1(int(x), int(y)) {
    y = x;
    printf("%d", y);
}
void act2(int(x), int(y)) {
    y = 2 * x - 1;
    printf("%d", y);
}
void act3(int(x), int(y)) {
    y = 3 * x - 11;
    printf("%d", y);
}
int mian() {
    int x, y = 0;
    scanf_s("%d", &x);
    putchar('\n');
    switch (x) {
    case 0:act1(x, y); break;
    case 1:
    case 9:act2(x, y);  break;
    case 10:act3(x, y);  break;
    }
    printf("answer is %d", y);
    return 0;
}

运行结果及报错内容

程序无法执行
错误 LNK2019 无法解析的外部符号 _main,函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中引用了该符号 the fourth chapter E:\visual studio\c++\the fourth chapter\the fourth chapter\MSVCRTD.lib(exe_main.obj)

img

我的解答思路和尝试过的方法

尝试不使用void定义的函数执行,任然报错

int mian() {
    int x, y = 0;
    scanf_s("%d", &x);
    putchar('\n');
    switch (x) {
    case 0:y = x; break;
    case 1:
    case 9: y = 2 * x - 1;  break;
    case 10:y = 3 * x - 11; break;
    }
    printf("answer is %d", y);
    return 0;
}

报错内容相同

我想要达到的结果

解决问题

  • 写回答

2条回答 默认 最新

  • Code_流苏 C/C++领域优质创作者 2022-02-13 19:40
    关注

    img


    主函数是main()函数,而不是mian函数。
    这个细节虽然很小,但是很关键,main()毕竟为主函数。

    解决方案:mian改为main

    以上仅供参考,如有任何疑问,可以评论回复,看到即回。
    希望对题主有所帮助!可以的话,帮忙点个采纳!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月21日
  • 已采纳回答 2月13日
  • 创建了问题 2月13日

悬赏问题

  • ¥15 对于知识的学以致用的解释
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败