2

重複の可能性:
`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. Louis\n";
        cout << " 2. Indianapolis\n";
        cout << " 3. Detroit\n";
        cout << " 4. Nashville\n";
        cout << " 5. Dallas\n";
        cout << " 6. Denver\n";
        cout << " 7. New York\n";
        cout << " 8. Los Angeles\n";
        cout << " 9. Miami\n";
        cout << "10. Seattle\n";
        cout << endl;
        cout << " 0. Exit\n";
        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);
}
4

1 に答える 1

1

それはリンカーの問題です。

[プロパティ]->[リンカー]->[システム]->[サブシステム]を変更してみてください

Windows(/ SUBSYSTEM:WINDOWS)からコンソール(/ SUBSYSTEM:CONSOLE)へ

于 2012-10-08T04:26:06.173 に答える