尝试使用类文件,出现"undefined reference to `WinMain@16'"错误

Trying to use class files, getting "undefined reference to `WinMain@16'" error

本文关键字:WinMain@16 to 错误 reference undefined 文件 出现      更新时间:2023-10-16

可能的重复项:
对"WinMain@16"的未定义引用

我正在构建一个应用程序,该应用程序根据用户确定的估计旅行速度计算从预定城市到达用户所选目的地所需的旅行时间。对于这个程序,我将利用类/类源文件。编译源文件时,我不断收到错误"对'WinMain@16'的未定义引用",并且由于我不熟悉源文件的用法,我不确定如何解决此问题。任何帮助将不胜感激,以指出我正确使用源文件的正确方向。提前感谢您的帮助。

头文件:

 #include <iostream>
    using namespace std;
    class Trip
    {
        private:
            string destination;
            double distance;
        public:
            void TripValue(string b, double c);
            void TripTime(Trip *a);
    };

源文件:

#include "Trip.h"
#include <iostream>
using namespace std;
void Trip::TripValue(string b, double c)
{
    destination = b;
    distance = c;
}
void Trip::TripTime(Trip *a)
{
    double user_speed;
    double time;
    cout << "Please enter your estimated travel speed in miles per hour: ";
    cin >> user_speed;
    cout << endl;
    time = (a->distance / user_speed);
    cout << endl;
    cout << "Your estimated travel time to " << a->destination << " is "
        << time << " hours.n";
    cout << endl;
}

应用程序代码:

#include <iostream>
#include "Trip.h"
using namespace std;
int main()
{
    Trip StL, Indy, Det, Nash, Dal, Den, NY, LA, Mia, Sea;
    int choice;
    StL.TripValue("St. Louis", 297.34);
    Indy.TripValue("Indianapolis", 184.78);
    Det.TripValue("Detroit", 282.73);
    Nash.TripValue("Nashville", 441.02);
    Dal.TripValue("Dallas", 925.91);
    Den.TripValue("Denver", 1004.93);
    NY.TripValue("New York", 791.50);
    LA.TripValue("Los Angeles", 2017.74);
    Mia.TripValue("Miami", 1363.55);
    Sea.TripValue("Seattle", 2032.31);
    do
    {
        cout << "=================================Trip Calulator=================================n";
        cout << "Select your destination from Chicago:n";
        cout << endl;
        cout << " 1. St. Louisn";
        cout << " 2. Indianapolisn";
        cout << " 3. Detroitn";
        cout << " 4. Nashvillen";
        cout << " 5. Dallasn";
        cout << " 6. Denvern";
        cout << " 7. New Yorkn";
        cout << " 8. Los Angelesn";
        cout << " 9. Miamin";
        cout << "10. Seattlen";
        cout << endl;
        cout << " 0. Exitn";
        cout << "================================================================================n";
        cin >> choice;
        cout << endl;
        switch (choice)
        {
            case 1:
                StL.TripTime(&StL);
                break;
            case 2:
                Indy.TripTime(&Indy);
                break;
            case 3:
                Det.TripTime(&Det);
                break;
            case 4:
                Nash.TripTime(&Nash);
                break;
            case 5:
                Dal.TripTime(&Dal);
                break;
            case 6:
                Den.TripTime(&Den);
                break;
            case 7:
                NY.TripTime(&NY);
                break;
            case 8:
                LA.TripTime(&LA);
                break;
            case 9:
                Mia.TripTime(&Mia);
                break;
            case 10:
                Sea.TripTime(&Sea);
                break;
        }
    } while (choice != 0);
}
这是一个

链接器问题。

尝试更改属性 ->链接器 ->系统 ->子系统

从 Windows (/SUBSYSTEM:

WINDOWS) 到 Console (/SUBSYSTEM:CONSOLE)