Ich schreibe ein Auto-Klassen-Programm für meine C++ - Klasse, und der einzige Teil, mit dem Visual Studios nicht arbeiten wird, ist irgendetwas mit "string and make" zu tun. Ich habe sie auskommentiert und das Programm läuft gut. Unser Lehrer hat uns gebeten, es auf 3 separate Seiten aufzuteilen. Der Fehler, wie er im Titel steht, lautet MISSING TYPE SPECIFIER. Stellt sich heraus, alles, was benötigt wurde, war "namespace std;" in der Datei car.h.FEHLER: Fehlender Typ-Spezifizierer
Vielen Dank für Ihre Hilfe.
#include "stdafx.h"
#include <iostream>
#include <string>
#include <iomanip>
#include "Car.h"
using namespace std;
int main()
{
// Declare car object
Car myCar;
int speed = 0, year;
string make;
cout << "This program will help you with your Car!" << endl; // intro message
cout << "Please enter the Year" << endl; // store year
cin >> year;
cout << "Please enter the Make of the car" << endl; // store make
cin >> make;
// call member functions to set car year and make.
myCar.setYear(2013);
myCar.setMake("Mustang GT");
// call member functions to get car year and make
cout << "Your car's current year is: " << myCar.getYear() << endl;
cout << "Your car's current make is: " << myCar.getMake;
cout << "Your car's current speed is : " << speed << " mph" << endl;
return 0;
}
Hier ist Car.h
#pragma once
#ifndef CAR_H
#define CAR_H
// Car class declaration
class Car
{
private:
string make;
int year;
int speed;
public:
int myCar(int year, string make, int speed);
int setYear(int carYear);
int setSpeed(int carSpeed);
string setMake(string carMake);
int getYear();
int getSpeed();
string getMake();
void accelerate();
void brake();
};
Und hier ist Car.cpp
#include "stdafx.h"
#include <iostream>
#include <string>
#include <iomanip>
#include "Car.h"
using namespace std;
//***
//myCar
//**
int Car::myCar(int year, string make, int speed)
{
int setYear(int year);
string setMake(string make);
return year, make, speed;
}
//**********
// setYear
//*********
int Car::setYear(int carYear)
{
year = carYear;
return carYear;
}
//************
// setMake
//************
string Car::setMake(string carMake)
{
make = carMake;
}
//***
//***
//setSpeed
//***
int Car::setSpeed(int carSpeed)
{
speed = carSpeed;
return carSpeed;
}
//***
//***
//getYear
//***
int Car::getYear()
{
return year;
}
//***
//***
//getMake
//***
string Car::getMake()
{
return make;
}
//***
//getSpeed
//***
int Car::getSpeed()
{
return speed;
}
//***
//***
// Accelerate
//***
void Car::accelerate()
{
int speed = 0;
speed += 5;
}
//***
//***
// Brake
//***
void Car::brake()
{
int speed = 0;
speed -= 5;
}
//***
Etwas wichtiges fehlt in Ihrer Frage. Das wäre eine tatsächliche Frage. "Meine Hausaufgaben kompilieren nicht", ohne auch nur den Übersetzungsfehler zu zeigen, ist keine Frage. –
Nichts ist speziell falsch mit Fragen über Hausaufgaben, aber ja, stellen Sie eine Frage. Zeigen Sie, was Sie bisher versucht haben, und erweitern Sie, was für Sie nicht funktioniert. Im Allgemeinen ist "mein Code nicht funktioniert" nicht eine sehr gute Möglichkeit, eine Antwort zu erhalten. Genauer gesagt, welche Fehler passieren, wenn Sie versuchen und kompilieren, und welche Schritte haben Sie durchlaufen, um zu versuchen, sie zu beheben? – user2366842
Sie haben setMake definiert, um eine Zeichenfolge zurückzugeben, aber Sie verwenden keinen Rückgabewert, und Sie geben nichts zurück. – stark