'声明与'错误不相容'

时间:2015-04-02 00:29:17

标签: c++ visual-studio-2010 declaration incomplete-type

错误:声明与“void DateType :: setBirthYear(& birthYear)”

不兼容

与月和日相同的错误。

没有编译错误,没有运行时错误,但是方法永远不会被正确调用并且不会产生toString输出。 Visual Studio一直说cpp定义与h声明不兼容,尽管它们完全相同。我在同一个项目中有另一个类,它遵循相同的格式,虽然设置不同的变量有不同的方法,并且没有任何错误,并且它的toString工作正常。

标题文件:

#ifndef DATETYPE_H
#define DATETYPE_H
using namespace std;
#include <string>


class DateType
{
public:
    DateType(void);
    ~DateType(void);
    void setBirthMonth(string& birthMonth);
    void setBirthDay(string& birthDay);
    void setBirthYear(string& birthyear);
    string toString();
private:
    string month;
    string day;
    string year;
};

#endif

cpp文件:

#include "DateType.h"
#include <iostream>
using namespace std;

DateType::DateType(void)
{
}
DateType::~DateType(void)
{
}

void DateType::setBirthMonth(string& birthMonth){
    month=birthMonth;
    cout<<month;
}
void DateType::setBirthDay(string& birthDay){
    day=birthDay;
    cout<<day;
}
void DateType::setBirthYear(string& birthYear){
    year=birthYear;
    cout<<year;
    toString();
}
string DateType::toString(){
    cout<<month+" "+day+ " "+year;
    return (month+" "+day+ " "+year);
}

0 个答案:

没有答案