C ++错误C2084:函数已经有一个正文

时间:2015-11-10 21:14:06

标签: c++

我之前已经问过这个问题,但在其他所有情况下这都是一个明确的问题。每个人都不小心打了两次他们的构造函数。另一方面,由于头文件中的原型,我遇到了这个问题,并且它没有任何意义。我在这两个文件之间调用的每个函数都调用了错误。谢谢!

Auto.h

#ifndef AUTO_H
#define AUTO_H

#include<string>
using std::string;

class Auto
{
public:
    Auto();
    Auto(const char* mk, const char* ml, int d);
    void setDoors(int d);
    int getDoors(void) const;
    const string getMake(void) const;
    const string getModel(void) const;
    void setMake(const char *mk);
    void setModel(const char *ml);
private:
    int doors;
    string make;
    string model;
};

#endif

Auto.cpp

#include "Auto.h"

Auto::Auto()
{
    // The strings are constructed empty by their default construtors
    doors = 2;
}

Auto::Auto(const char* mk, const char* ml, int d)
{
    setMake(mk);
    setModel(ml);
    setDoors(d);
    return;
}

void Auto::setDoors(int d)
{
    if (d>0)
        doors = d;
    else
        doors = 2;
    return;
}

int Auto::getDoors(void) const
{
    return doors;
}

const string Auto::getMake(void) const
{
    return make;
}

const string Auto::getModel(void) const
{
    return model;
}


void Auto::setMake(const char *mk)
{
    if (mk != 0) {
        make = mk;
    }
    return;
}

void Auto::setModel(const char *ml)
{
    if (ml != 0) {
        model = ml;
    }
    return;
}

错误讯息:

 1> Lab11.cpp 1>m:\cosc1030\lab11\lab11\lab11\auto.cpp(14): error C2084: function 'Auto::Auto(void)' already has a body
 1> m:\cosc1030\lab11\lab11\lab11\auto.h(18) : see previous definition of '{ctor}' 1>m:\cosc1030\lab11\lab11\lab11\auto.cpp(20): error C2084: function 'Auto::Auto(const char *,const char *,int)' already has a body
 1> m:\cosc1030\lab11\lab11\lab11\auto.h(19) : see previous definition of '{ctor}'

0 个答案:

没有答案