我是C ++的新手。我正在尝试开发C ++应用程序,但是有一个错误令我烦恼。
在函数“ int __cdecl invoke_main(void)”中引用的错误LNK2019无法解析的外部符号_main
我想我已经在另一个文件中引用了所有功能
这是我的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();
};
答案 0 :(得分:4)
您的程序没有main
函数,这是C ++程序的入口。 console::main()
函数无法满足此目的,顺便说一句,您程序中根本没有任何类型为console
的变量,因此您永远无法调用console
的任何方法类。我认为您应该从头开始阅读C ++教科书。
您想要这个:
...
int main()
{
console myconsole;
myconsole.main();
}
还有顺便说一句,这很可恶:
system("pause");
main(); // you probably want to remove this
return 0;
您可能想在这里循环。
答案 1 :(得分:1)
在C ++中,程序的入口点是main
函数,它必须在任何类之外。在您的代码中,您在int main()
类内声明了console
。
答案 2 :(得分:1)
所有c ++程序都必须具有一个名为main的入口函数,该入口函数不属于任何类。
正确的例程将是一个主要功能,它将创建代表程序大部分的对象,然后运行该主要功能:
int main()
{
console myconsole;
myconsole.main();
}