回 帖 发 新 帖 刷新版面

主题:[讨论]请问为什么我的类申明后还出现未申明标识符

/*const:修饰参数
/*const:修饰返回值
/*const:修饰函数体
/*************************/
#include<iostream>
#include<assert.h>
//输入修饰输入参数
char* StringCopy(char *strDestination,const char *strSource)
{
    assert((strDestination!=NULL)&&(strSource!=NULL));
    char* address=strDestination;
    while((*strDestination++=*strSource++)!='\0')
        NULL;
    return address;
}
//const 修饰返回值
const char * GetString(viod)
{
    char* szOut="日期输出结束";
        return szOut;
}
//类 DTime
class DTime
{
//操作
public:
    DTime(int iYear,int iMonth,int iDay)
    {
        m_nYear=iYear;
        m_nMonth=iMonth;
        m_nDay=iDay;
    }
    int GetYear() const{return m_nYear;}//const 修饰函数体
    int GetMonth() const{return m_nMonth;}
    int GetDay() const{return m_nDay;}
public:
    int m_nYear;
    int m_Month;
    int    m_nDay;
};
int main()
{
    char szOutStr[256];
    char* szInStr="输入年月日";
    StringCopy(szOutStr,szInStr);
    cout<<szOutStr<<endl;

    int nYear;
    int nMonth;
    int nDay;

    cin>>nYear;
    cin>>nMonth;
    cin>>nDay;

    DTime dt(nYear,nMonth,nDay);

    cout<<dt.GetYear()<<"-"<<dt.GetMonth()<<"-"<<dt.GetDay()<<endl;

    const char* str=GetString();
    cout<<str<<endl;
    return 0;
}



1>------ 已启动生成: 项目: test1, 配置: Debug Win32 ------
1>正在编译...
1>test1.cpp
1>e:\学习\c++\lianxi\const 输入年月日\test1.cpp(17) : error C2065: “viod”: 未声明的标识符
1>e:\学习\c++\lianxi\const 输入年月日\test1.cpp(18) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>e:\学习\c++\lianxi\const 输入年月日\test1.cpp(18) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>e:\学习\c++\lianxi\const 输入年月日\test1.cpp(30) : error C2065: “m_nMonth”: 未声明的标识符
1>e:\学习\c++\lianxi\const 输入年月日\test1.cpp(34) : error C2065: “m_nMonth”: 未声明的标识符
1>e:\学习\c++\lianxi\const 输入年月日\test1.cpp(46) : error C2065: “cout”: 未声明的标识符
1>e:\学习\c++\lianxi\const 输入年月日\test1.cpp(46) : error C2065: “endl”: 未声明的标识符
1>e:\学习\c++\lianxi\const 输入年月日\test1.cpp(52) : error C2065: “cin”: 未声明的标识符
1>e:\学习\c++\lianxi\const 输入年月日\test1.cpp(53) : error C2065: “cin”: 未声明的标识符
1>e:\学习\c++\lianxi\const 输入年月日\test1.cpp(54) : error C2065: “cin”: 未声明的标识符
1>e:\学习\c++\lianxi\const 输入年月日\test1.cpp(58) : error C2065: “cout”: 未声明的标识符
1>e:\学习\c++\lianxi\const 输入年月日\test1.cpp(58) : error C2065: “endl”: 未声明的标识符
1>e:\学习\c++\lianxi\const 输入年月日\test1.cpp(60) : error C2064: 项不会计算为接受 0 个参数的函数
1>e:\学习\c++\lianxi\const 输入年月日\test1.cpp(61) : error C2065: “cout”: 未声明的标识符
1>e:\学习\c++\lianxi\const 输入年月日\test1.cpp(61) : error C2065: “endl”: 未声明的标识符

回复列表 (共4个回复)

沙发

前两个错误出在:GetString(viod)
viod是怎么回事

三四两个错误出在m_nMonth=iMonth;
你的属性叫m_Month吧……

后面的所有错误出在:没有相应的using
建议直接使用
using std::cin;
using std::cout;
using std::endl;减少编译出错的可能

板凳

谢谢高人指点[em1]

3 楼

咿?我修改了可是还是说有很多未声明的标识符

4 楼


嘿嘿,OK了,谢谢[em1]

我来回复

您尚未登录,请登录后再回复。点此登录或注册