我正在爲我的C++類寫一個汽車類程序,而Visual Studio不能使用的唯一部分與「字符串和make」有關。我評論他們,程序運行得很好。我們的老師要求我們將其分成3個獨立的頁面。標題中發佈的錯誤是MISSING TYPE SPECIFIER。事實證明,所有需要的是「使用命名空間標準;」在car.h文件中。錯誤:缺少類型說明符
謝謝你的幫助。
#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;
}
這裏是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();
};
這裏是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;
}
//***
你的問題中缺少重要的東西。這將是一個真正的問題。 「我的作業不編譯」,甚至沒有顯示編譯錯誤,這不是一個問題。 –
提問有關家庭作業的問題沒有什麼特別的錯,但是,提出一個問題。顯示你迄今爲止所嘗試的內容,並且展示什麼是/不適合你。一般來說,「我的代碼不起作用」不是一個很好的方式來獲得迴應。更具體地說,當您嘗試編譯時會發生什麼錯誤,以及您嘗試修復它們的步驟? – user2366842
您將setMake定義爲返回一個字符串,但不使用返回值,並且不返回任何內容。 – stark