我写了一个程序,在win32控制台下运行没问题,但是转到MFC下,就出现了如下错误:
出错的代码部分为:#pragma once
class CSplitStr
{
private:
//切分的标志符号
CString m_sSplitFlag;
//连续的切分的标志符号当成一个标志处理
BOOL m_bSequenceAsOne;
//被切分的文本
CString m_sData;
…………

出错信息:
1>MFCSendMes.cpp
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(16) : error C2146: 语法错误 : 缺少“;”(在标识符“m_sSplitFlag”的前面)
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(16) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(16) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(20) : error C2146: 语法错误 : 缺少“;”(在标识符“m_sData”的前面)
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(20) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(20) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(21) : error C2146: 语法错误 : 缺少“;”(在标识符“a”的前面)
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(21) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(21) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(22) : error C2146: 语法错误 : 缺少“;”(在标识符“b”的前面)
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(22) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(22) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(25) : error C2061: 语法错误 : 标识符“CStringArray”
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(27) : error C2146: 语法错误 : 缺少“;”(在标识符“GetData”的前面)
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(27) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(27) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(27) : warning C4183: “GetData”: 缺少返回类型;假定为返回“int”的成员函数
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(29) : error C2061: 语法错误 : 标识符“CString”
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(35) : error C2146: 语法错误 : 缺少“;”(在标识符“GetSplitFlag”的前面)
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(35) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(35) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(35) : warning C4183: “GetSplitFlag”: 缺少返回类型;假定为返回“int”的成员函数
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(37) : error C2061: 语法错误 : 标识符“CString”
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(35) : error C2065: “m_sSplitFlag”: 未声明的标识符
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\splitstr.h(37) : error C2065: “sSplitFlag”: 未声明的标识符
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\send.h(16) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\send.h(16) : error C2143: 语法错误 : 缺少“,”(在“&”的前面)
1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\mfcsendmes\mfcsendmes\send.h(17) : error C2061: 语法错误 : 标识符“CString”
1>生成日志保存在“file://c:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\MFCSendMes\MFCSendMes\Debug\BuildLog.htm”
1>MFCSendMes - 26 个错误,2 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========
不知道是怎么回事了,求教各位大虾

解决方案 »

  1.   

    class CSplitStr
    {
    private:
    //切分的标志符号
    CString m_sSplitFlag;
    //连续的切分的标志符号当成一个标志处理
    BOOL m_bSequenceAsOne;
    //被切分的文本
    CString m_sData;
    …………
    };
      

  2.   

    class结束的时候是不是要有个“;”的?你结贴率太低,回答你的人就少!
      

  3.   

    CString 没有定义
    当然,可能还有其他一些类型
    你要声明,或包含头文件
      

  4.   

    但是我在控制台下可以运行成功的话就说明没有问题的,但一放到MFC下就出现了问题
      

  5.   

    是不是在工程配置里面没有把 static / dynamic MFC library 钩上...
      

  6.   

    试试这个: 把  CSplitStr.cpp 里面包含的头文件 全部复制到CSplitStr .h里面
      

  7.   

    今天也遇到了这个问题,找了半天:
    楼主发现了没,这个CSplitStr.h文件中没有添加相应的#include。在CSplitStr.cpp中使用#include好象是不行的,老是报错