C++Xcode需要&;#39;(&;#39;用于函数样式强制转换或类型构造
我正在尝试编译此cpp和h文件,但它一直给我这个错误"预期的‘(’对于函数样式的强制转换或类型构造",它指向构造函数
GasTank::GasTank(double a){
capacity=a;
}
有没有想过为什么?我不明白为什么它会给我那个错误。以下是代码的其余部分:
//
// Header.h
// labs
//
// Created by Pxndroid on 10/17/14.
// Copyright (c) 2014 Pxndroid. All rights reserved.
//
#include<string>
using namespace std;
class GasTank
{
private:
double amount;
double capacity;
public:
GasTank(double a);
void addGas(double b);
void useGas(double c);
bool isEmpty();
bool isFull();
double getGasLevel();
double fillUp();
};
和:
//
// main.cpp
// labs
//
// Created by Pxndroid on 10/17/14.
// Copyright (c) 2014 Pxndroid. All rights reserved.
//
#include <iostream>
#include "Header.h"
using namespace std;
int main()
{
GasTank::GasTank(double a){
capacity=a;
}
void GasTank::addGas(double b){
if((amount+b)>capacity){
amount=capacity;
}
else{
amount+=b;
}
}
void GasTank::useGas(double c){
if((amount-c)<0){
amount=0;
}
else{
amount-=c;
}
}
bool GasTank::isEmpty(){
if(amount<0.1){
return true;
}
else{
return false;
}
}
bool GasTank::isFull(){
if(amount>capacity-0.1){
return true;
}
else{
return false;
}
}
double GasTank::getGasLevel(){
return amount;
}
double GasTank::fillUp(){
capacity-=amount;
amount+=capacity;
return capacity;
}
}
解决方案
将GasTank
成员的定义移出int main()
。它们不属于那里,编译器也不需要它们;它们不是main()
函数的一部分。
相关文章