为什么这段程序在 VC6.0 没问题, 在 VC7.1 不过???

qin0036 qin0036 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

为什么这段程序在 VC6.0 没问题, 在 VC7.1 不过???

下面这段程序为什么在 VC6.0 下面编译可以通过, 在 VC 7.1
下面就无法通过?
编译的输出为:

warning C4346: “qtClass1<qT1>::qtClass1<qT1>::qT2::qjT1” : 依赖名称不是类型
error C2146: 语法错误 : 缺少“;”(在标识符“qjT1”的前面)
error C2501: “qtClass1<qT1>::qjT1” : 缺少存储类或类型说明符

源代码:
class CObject
{
};

template <class TCallback>
class qtBase
{
public:
typedef TCallback qjT1;

protected:
CObject* m_target;
// a callback
qjT1 m_cb;

};


class qtClass : public qtBase<void (CObject::*)()>
{
public:
int a;
};


template <class qT1>
class qtClass1
{
public:
typedef qT1 qT2;
typedef qT2::qjT1 qjT1;

};

void main()
{
qtClass1<qtClass> qttt;

}
...全文

相关推荐

VC6.0在64位Windows7下调试的时候,再结束调试,程序无法退出

标题中的问题涉及到的是微软Visual C++ 6.0(简称VC6.0)在64位Windows 7操作系统上进行程序调试时遇到的一个常见问题。

爬行的小小虫

完整SDL开发库在VC6.0中的应用指南

SDL(Simple DirectMedia Layer)是一个跨平台的开发库,它被设计用来提供直接控制音频、键盘、鼠标、游戏手柄和图形硬件的低级别访问。作为一款优秀的多媒体开发框架,SDL广泛应用于游戏、模拟器、教育软件和其他需要复杂交互的应用程序中。在这一章中,我们将从SDL库的安装与配置开始,简单介绍其历史和组成模块。然后,我们将探讨SDL的主要特性和优势,从而为读者构建起一个关于SDL开发库的初步认识。

啃老师

基于VC6.0与MFC实现的计算器程序设计与解析

不仅是设置变量的地方,更是整个对话框进入事件循环前的最后准备阶段。很多一次性配置都应该放在这里完成:// 注册热键 Ctrl+C 清除// 设置定时器用于闪烁错误提示同时也要做好异常检测:if (!MessageBox(_T("致命错误:无法加载显示控件!"));这类检查看似多余,但在实际部署环境中常常能救命。毕竟不是每个人的系统都有完整的DLL支持。至此,我们的计算器已经具备了完整的骨架和神经系统。接下来,就让它真正“动”起来吧!

seiji morisako

在VC6.0中编译libcurl并实现HTTP请求的完整实践

libcurl作为应用最广泛的开源HTTP客户端库,提供简洁的API和跨平台能力,是传统系统集成网络功能的理想选择。其核心原理基于easy会话句柄与回调函数机制,开发者可灵活处理响应数据。在工业控制、医疗设备等长期维护的老项目中,基于VC6.0的代码库往往需要新增联网能力,而libcurl的静态编译与稳定接口能大幅降低改造风险。由于VC6.0对现代C++支持有限,选择兼容版本(如7.19.7)并配置静态链接,即可实现HTTP/HTTPS请求、表单提交等操作。本文完整梳理了在VC6.0环境下编译libcurl

weixin_33970449

VC6.0程序在Win7下运行例子

【标题】"VC6.0程序在Win7下运行例子"涉及到的是在Windows 7操作系统中如何成功运行使用Visual C++ 6.0(简称VC6.0)编译的程序,并实现该程序开机自启动的功能。

qinqqfirst
评论 2
收藏 已收藏
分享
返回顶部
qin0036
VC.NET 7,538 成员 27,670 内容