fehler bei vektor-programm



  • hallo,

    ich lerne erst seit kurzem c++ und wollte zu übungszwecken ein programm zur vektorberechnung erstellen. nun spuckt mir der compiler einen fehler aus:

    D:\Projekte\vektor\vektor_methoden.cpp(147) : error C2664: 'determinante' : Konvertierung des Parameters 1 von 'class vektor' in 'class vektor []' nicht moeglich
    Kein benutzerdefinierter Konvertierungsoperator verfuegbar, der diese Konvertierung durchfuehren kann, oder der Operator kann nicht aufgerufen werden
    Fehler beim Ausführen von cl.exe.

    es handelt sich dabei um diese stelle:

    *void vektor::linab(vektor v[9])

    {
    double d;

    d = determinante(v[9]);

    if(d !=0)
    {
    cout << "Die Vektoren sind linear unabhaengig.";
    }

    else
    {
    cout << "Die Vektoren sind linear abhaengig.";
    }
    }*

    hier ist noch die determinante:

    *double vektor::determinante(vektor v[9])

    {
    int anzahl;
    double d;

    cout << "Wieviele Vektoren?";
    cin >> anzahl;
    if (anzahl > 10)
    {
    cout << endl << "Ungueltige Eingabe (max. 10 Vektoren)";
    }

    else {

    switch (anzahl)
    {
    case 0: cout << endl << "Ungueltige Eingabe (min. 2 Vektoren)";
    break;

    case 1: cout << endl << "Ungueltige Eingabe (min. 2 Vektoren)";
    break;

    ...

    default: cout << endl << "Fehlerhafte Eingabe. Bitte versuchen
    sie es erneut (min. 2 Vektoren, max. 10).";
    break;
    }
    return d;
    }
    *

    ich komm nicht drauf, wo der fehler ist. vielleicht könnt ihr mir helfen...



  • Dieser Thread wurde von Moderator/in estartu aus dem Forum MFC (Visual C++) in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Die Funktion 'determinante()' erwartet ein Array von 9 Vektoren (behauptet sie zumindest - niemand überprüft das wirklich) und du gibst ihr einen einzelnen Vektor mit (der noch dazu nichtmal zu dem Array gehört, das du an linab() übergeben hast). Lass doch mal beim Aufruf d=determinande(v); die Indizierung weg, dann sollte es gehen.

    (PS: Über den Inhalt der Funktionen sage ich mal nichts - nur solltest du dir mal über die Zuständigkeiten deiner Funktionen klar werden ;))



  • Ja, Danke... Es funktioniert jetzt.


Anmelden zum Antworten