Strukturfunktion kann in main nicht aufgerufen werden

Laila murish

Aus irgendeinem Grund wird mein Code nicht kompiliert und ich stoße immer wieder auf diesen Fehler:

'(Movie *) (& myMovie)' konnte nicht von 'Movie *' in 'Movie' konvertiert werden **

Ich bin mir nicht sicher, was es bedeutet, wenn es das sagt. Schätzen Sie es, wenn mir jemand sagen kann, was mit meinem Code nicht stimmt, auch neu in Strukturen, also entschuldigen Sie sich für dumme Fehler.

Ich möchte ausgeben, was der Benutzer eingegeben hat, als er zu den Filmdetailfragen aufgefordert wurde, aber wie bereits erwähnt, funktioniert dies nicht.

Vielen Dank. Hier ist mein Code:

#include <iostream>
#include <cstring>
#include <iomanip>
#include <climits>
#include <cstdlib>

using namespace std;

const int MAX = 256;
const int MAXNUM = 10;
const int MINNUM = 1;

typedef char  Word[MAX];

//define a struct for a Movie
struct Movie{
  Word title;
  Word Director;
  float length;
};


// prompts user for number between min and max, and returns valid input
int getIntInRange(int min, int max);



//prompts user for a positive float, and returns valid value
float getPositiveFloat();


//prompts user to enter all the values in a movie and returns the movie

//implement these two functions

Movie getMovieFromUser();
//outputs a single movie

void outputMovie(Movie m);



//describe program to user
void displayOverview();


int main(){

//output overview of program

//prompt user to enter their favourite movie

//use the getMovieFromUser() function to get the movie and store it in a variable

//output the movie using the outputMovie function


  cout << endl;

  Movie myMovie[MAXNUM];
  getMovieFromUser(????);
  outputMovie(????);


return 0;
}

Movie getMovieFromUser(){

    Movie myMovie;
    //prompt user to enter title, and save it
    //prompt user to enter director and save it
    //prompt user for length, and save it

    Word buffer;
    cout << "Please enter your favourite movie \n";
    cout << "Title: ";
    cin.getline(buffer, MAX);
    strcpy(m.title, buffer);
    cout << "Director: ";
    cin.getline(buffer, MAX);
    strcpy(m.Director, buffer);
    m.length = getPositiveFloat();


    return myMovie;
}


void outputMovie(Movie m){
//output the contents of this movie
    cout << "Title: " << m.title << endl;
    cout << "Director: " << m.Director << endl;
    cout << "Length (minutes): " << m.length << endl;
}
David Schwartz

Ihr Code stimmt nicht mit sich selbst überein. Du hast:

Movie getMovieFromUser();

Aber dann später:

Movie getMovieFromUser(Movie &m){

Das erste scheint sinnvoller zu sein. Eine aufgerufene Funktion getMovieFromUserkann entweder einen Referenzparameter annehmen, den sie ausfüllt, oder einen Wert zurückgeben. Die Rückgabe eines Wertes scheint sinnvoller zu sein. Mit diesem Fix sollte dieser Code kompiliert werden:

Movie myMovie[MAXNUM];
myMovie[0] = getMovieFromUser();
outputMovie(myMovie[0]);

Sie müssen den Movie &mParameter in entfernen getMovieFromUser. Erstellen Sie einfach eine lokal (wie Sie es bereits tun). Ich würde vorschlagen, es aufzurufen, manstatt myMovieVerwirrung zu stiften, wenn zwei Variablen denselben Namen haben.

Alles zusammen:

Movie getMovieFromUser(){

    Movie m;
    //prompt user to enter title, and save it
    //prompt user to enter director and save it
    //prompt user for length, and save it

    Word buffer;
    cout << "Please enter your favourite movie \n";
    cout << "Title: ";
    cin.getline(buffer, MAX);
    strcpy(m.title, buffer);
    cout << "Director: ";
    cin.getline(buffer, MAX);
    strcpy(m.Director, buffer);
    m.length = getPositiveFloat();
    return m;
}

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  3. 3

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  4. 4

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  7. 7

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  8. 8

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  9. 9

    Eclipse Oxygen - Projekte verschwinden

  10. 10

    Wie wählt man Unterschiede mit drei Tabellen aus?

  11. 11

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  12. 12

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  13. 13

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  14. 14

    Wie kann ich den Kaskadenmodus global einstellen?

  15. 15

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  16. 16

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  17. 17

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  18. 18

    Was ist schneller: SUM über NULL oder über 0?

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Kann ich ein Tkinter-Canvas erstellen, das mehrere Zeilen in einem Text-Widget umfasst?

  21. 21

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

heißlabel

Archiv