另外,我想声明一个变量,比如 CMyClass m_myClass;为全局函数,这样在任何一个类里都可以使用,不用重复声明了

解决方案 »

  1.   

    函数不要放在.h里定义。
    放到.cpp里,在.h里仅说明原型。
    对全局变量,也是在某个cpp里定义,在.h里用extern声明。
      

  2.   

    声名全局变量,只要在一个CPP文件里定义,别的地方用extern就行乐
      

  3.   

    aintools.cpp(23) : fatal error C1010: unexpected end of file while looking for precompiled header directive头文件中除了#include 之外只有一句CString OnGetTime();有没有extern 都是这样cpp中#include "maintools.h"CString OnGetTime()
    {
    CString Time;
    CTime tm=CTime::GetCurrentTime();
    if(tm.GetMonth()>=10)
    {
    if(tm.GetDay()>=10)
    Time.Format("%d-%d-%d  %d:%d:%d",tm.GetYear(),tm.GetMonth(),tm.GetDay(),tm.GetHour(),tm.GetMinute(),tm.GetSecond());
    else
    Time.Format("%d-%d-0%d  %d:%d:%d",tm.GetYear(),tm.GetMonth(),tm.GetDay(),tm.GetHour(),tm.GetMinute(),tm.GetSecond());
    }
    else
    {
    if(tm.GetDay()>=10)
    Time.Format("%d-0%d-%d  %d:%d:%d",tm.GetYear(),tm.GetMonth(),tm.GetDay(),tm.GetHour(),tm.GetMinute(),tm.GetSecond());
    else
    Time.Format("%d-0%d-0%d  %d:%d:%d",tm.GetYear(),tm.GetMonth(),tm.GetDay(),tm.GetHour(),tm.GetMinute(),tm.GetSecond());
    }
    return Time;
    }
      

  4.   

    同意 yu_hl(卖柴火的小男孩) 的观点
    你应该把实现体写在CPP文件里。