C++ explizite Typ fehlt('int' angenommen)

Hallo ich habe ein Fehler in meinem c++ - code. Ich habe 2 .cpp-Dateien und 1 .h-Datei, Im Versuch, Zugang 5 strings und 1 int in der header-Datei, aber ich bekomme eine Fehlermeldung, die sagt "expliziten Typ fehlt('int' angenommen).

Habe ich einige andere Fehler, zu denen sind: Fehlende Typ-Bezeichner, Shops::Artikel, die Neudefinition; unterschiedliche Basistypen, Überladene Funktion unterscheidet sich nur durch den Rückgabetyp und die Erklärung unvereinbar ist.

Hier sind meine Dateien:

UserChoice.h

#include <iostream>
#include <string>

using namespace std;

#ifndef USERCHOICE_H
#define USERCHOICE_H

class Shops
{
public:

    double Items(string, string, string, string, string, int);

    int main()
    {
        std::cout << newItem1;
    }

private:
    string newItem1;
    string newItem2;
    string newItem3;
    string newItem4;
    string newItem5;
    int newItems;

};
#endif

Items.cpp

#include "UserChoice.h"

Shops::Items(string Item1, string Item2, string Item3, string Item4, string Item5, int     Items)
{
    newItem1 = Item1;
    newItem2 = Item2;
    newItem3 = Item3;
    newItem4 = Item4;
    newItem5 = Item5;
    newItems = Items;
}

Source.cpp

#include "UserChoice.h";
#include <string>

int main()
{
    string Item1;
    string Item2;
    string Item3;
    string Item4;
    string Item5;
    int items;

    std::cout << "What what you like? Chicken, Meat, Fish, Carrot or Apple?\n";
    std::cin >> Item1;
    std::cout << "\nAnything else?\n";
    std::cin >> Item2;
    if(Item2 == "nothing else")
    {

    }
    std::cout << "\nAnything else?\n";
    std::cin >> Item3;
    std::cout << "\nAnything else?\n";
    std::cin >> Item4;
    std::cout << "\nAnything else?\n";
    std::cin >> Item5;
    std::cout << "\nAnything else?\n";
}

Fehler-Zeile

Shops::Items(string Item1, string Item2, string Item3, string Item4, string Item5, int Items)

Alle der code ist noch nicht fertig, so dass ich hoffe, Sie können mir helfen, finden und beheben Sie diese Fehler.
Vielen Dank im Voraus, und wenn Sie brauchen mehr info fragt mich einfach.

  • Ich glaube Daniel ist Ihre Frage beantwortet. Ein Vorschlag: statt 5 Saiten in Ihre Klasse und Ihre Funktion Signatur, warum nicht Sie verwenden, vector<string>?
  • Raja ist ein guter Punkt. Übergabe in vector<string> ermöglicht es Ihnen, so viele items wie du, ohne betroffen die Signatur der Methode, und Sie werden in der Lage sein, zu bestimmen, wie viele Elemente Sie haben durch die Verwendung von Vektor-Größe() entfernen die Notwendigkeit, den pass in einem Artikel zu zählen.
  • Ich bekomme diese Fehlermeldung bei Gelegenheit, wenn einer meiner Konstruktoren hat einen Tippfehler drin.
InformationsquelleAutor Matthew C | 2013-10-18
Schreibe einen Kommentar