2

VisualStudioを使用しています。コードをコンパイルしようとすると、「hexISOS」関数で使用される変数ごとに21「IntelliSense:識別子「[空白]」が未定義です」というエラーが表示されます。私はこれらの変数をコードの後半で定義しましたが、誰かが何が悪いのか教えてもらえないかと思っていました。

私のコードは次のようになります:

#include <iostream>
#include <cmath>
using namespace std;

int hexISOS(double AX, AY, BX, BY, CX, CY, DX, DY)
{
    long double sol1, sol2;
    bool ans;

    sol1 = sqrt(pow((AX - CX), 2) + pow((AY - CY), 2));
    sol2 = sqrt(pow((BX - DX), 2) + pow((BY - DY), 2));

    if(sol1 == sol2)
    {
    ans = true;
    }

    else
    {
    ans = false;
    }

    cout << "\nThe distance between A and C is " << sol1 << endl;
    cout << "The distance between B and D is " << sol1 << endl;
    cout << "\nIsosceles = " << ans;

    return 0;
}

int main()
    {
    double AX, AY, BX, BY, CX, CY, DX, DY;

    cout << "AX: ";
    cin >> AX;

    cout << "\nAY: ";
    cin >> AY;

    cout << "\nBX: ";
    cin >> BX;

    cout << "\nBY: ";
    cin >> BY;

    cout << "\nCX: ";
    cin >> CX;

    cout << "\nCY: ";
    cin >> CY;

    cout << "\nDX: ";
    cin >> DX;

    cout << "\nDY: ";
    cin >> DY;

    hexISOS(AX, AY, BX, BY, CX, CY, DX, DY);

    return 0;
}
4

1 に答える 1

1

メイン関数の最初の行のように、データ型を一度使用してから一連の変数名を使用できるということは、関数のパラメーターリストでそれを行うことはできないと思います。これを試して、それが役立つかどうかを確認してください:

int hexISOS(double AX, double AY, double BX, double BY, double CX, double CY, double DX,
        double DY)

編集:私が合法だとは思わないもう1つのことはこれです:

long double sol1, sol2;

おそらく、次のいずれかに変更する必要があります。

long sol1;
double sol2;

またはこのようなもの:

double sol1, sol2;
于 2012-04-16T21:16:19.253 に答える