This question already has answers here:
Error LNK2019 unresolved external symbol _main referenced in function “int __cdecl invoke_main(void)” (?invoke_main@@YAHXZ)
                                
                                    (14个回答)
                                
                        
                                去年关闭。
            
                    
我是C ++的新手。我正在尝试开发C ++应用程序,但是有一个错误使我一直困扰。


  错误LNK2019无法解析的外部符号_main在函数“ int __cdecl invoke_main(void)”中引用


我想我已经在另一个文件中引用了所有功能

这是我的cpp文件的代码:

#include "stdafx.h"




int console::main()
{
    system("cls");
    cout << "-----------ABC Homestay Management System-----------" << endl;
    cout << "------------------------------------------------------------" << endl;

system("color 0f");
cout << "Please enter your choice" << endl;
cout << "1.Upload listings" << endl;
cout << "2.Find listings" << endl;
cout << "3.View listings" << endl;
cout << "4.Exit" << endl;

int choice;
cin >> choice;

switch (choice) {
case 1:
    //renter();
    break;
case 2:
    //finder();
    break;
case 3:
    //listings();
    break;
case 4:
    exit(0);
    break;
case 8:
    //staff();//secret key -> 8 for staff
    break;
}

    system("pause");
main();
return 0;
 }

    void console::finder() {
        system("cls");
            cout << "test" << endl;

    }


这是我在cpp文件中引用的“ stdafx.h”头文件:

    #pragma once

#include "targetver.h"
#include <iomanip>
#include <ctime>
#include <time.h>

#include <windows.h>
#include <stdio.h>
#include <tchar.h>
#include <stdio.h>
#include <tchar.h>
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <regex>
#include <stdlib.h>
#include <string.h>
#include<algorithm>
#include<iterator>
#include <chrono>
#include <thread>

using namespace std;



class console {

public:
    console() {}
    ~console() {}
    int main();
    void renter();
    void finder();
    void listings();
    void staff();



};

最佳答案

您的程序没有main函数,这是C ++程序的入口。 console::main()函数不能用于此目的,顺便说一句,您的程序中根本没有任何console类型的变量,因此您永远无法调用console类的任何方法。我认为您应该从头开始阅读C ++教科书。

你要这个:

...
int main()
{
  console myconsole;
  myconsole.main();
}


顺便说一句,这很可恶:

system("pause");
main();          // you probably want to remove this
return 0;


您可能想要在这里循环。

关于c++ - 未解析的外部符号(LNK2019),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52163513/

10-11 22:45