在stdafx.h中莫名奇妙的错误。

zdrone 2009-02-23 01:46:12

// stdafx.h : 标准系统包含文件的包含文件,
// 或是经常使用但不常更改的
// 特定于项目的包含文件
//

#pragma once

#include "targetver.h"

#include <stdio.h>
#include <tchar.h>
#include <windows.h>
#include <string>

// TODO: 在此处引用程序需要的其他头文件
typedef basic_string<_TCHAR, char_traits<_TCHAR>, allocator<_TCHAR> > _tstring;
/*
#ifdef _UNICODE
typedef wstring _tstring;
#else
typedef string _tstring;
#endif
*/


编译的时候产生这个错误:
------ 已启动全部重新生成: 项目: QYCNGFtpSrv, 配置: Debug Win32 ------
正在删除项目“QYCNGFtpSrv”(配置“Debug|Win32”)的中间文件和输出文件
正在编译...
stdafx.cpp
d:\work\vc\qycngftpsrv\qycngftpsrv\stdafx.h(16) : error C2143: 语法错误 : 缺少“;”(在“<”的前面)
d:\work\vc\qycngftpsrv\qycngftpsrv\stdafx.h(16) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
生成日志保存在“file://d:\WORK\VC\QYCNGFtpSrv\QYCNGFtpSrv\Debug\BuildLog.htm”
QYCNGFtpSrv - 2 个错误,0 个警告
========== 全部重新生成: 成功 0 个,失败 1 个,跳过 0 个 ==========

两种方法都不行基本都是一个错误。怎么回事啊?
...全文
118 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zdrone 2009-02-23
  • 打赏
  • 举报
回复
所有的东西都在std中的............ 哎... ... 对不起bjarne
zdrone 2009-02-23
  • 打赏
  • 举报
回复
谢谢各位..........
zdrone 2009-02-23
  • 打赏
  • 举报
回复
晕死... 找到原因了 char_traits这个模板结构体在striing 头文件的std空间中的...............

低级 低级......................
cnzdgs 2009-02-23
  • 打赏
  • 举报
回复
你用的是VC6吧?VC6中没有定义basic_string类型。
zdrone 2009-02-23
  • 打赏
  • 举报
回复
#ifdef _UNICODE
typedef wstring _tstring;
#else
typedef string _tstring;
#endif

用这个的时候应该就避开_TCHAR了 但还是错误
------ 已启动生成: 项目: QYCNGFtpSrv, 配置: Debug Win32 ------
正在编译...
stdafx.cpp
d:\work\vc\qycngftpsrv\qycngftpsrv\stdafx.h(20) : error C2146: 语法错误 : 缺少“;”(在标识符“_tstring”的前面)
d:\work\vc\qycngftpsrv\qycngftpsrv\stdafx.h(20) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
d:\work\vc\qycngftpsrv\qycngftpsrv\stdafx.h(20) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
生成日志保存在“file://d:\WORK\VC\QYCNGFtpSrv\QYCNGFtpSrv\Debug\BuildLog.htm”
QYCNGFtpSrv - 3 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
alvinsunxiang 2009-02-23
  • 打赏
  • 举报
回复
去掉#include <string>
试试
zdrone 2009-02-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 oyljerry 的回复:]
typedef basic_string <TCHAR, char_traits <TCHAR>, allocator <TCHAR> > _tstring;

[/Quote]

错误依旧..........
oyljerry 2009-02-23
  • 打赏
  • 举报
回复
typedef basic_string<TCHAR, char_traits<TCHAR>, allocator<TCHAR> > _tstring;

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧