为了了解Visual Basic和C++/CLI最新的变化,我安装了Visual Studio 2005 十月技术预览版(CTP)。Visual Basic变化并不大,增加了Code Expansion功能和泛型的引用类型/值类型约束。而C++/CLI则十分莫名其妙。IDE的智能感知全没了,全部都要凭记忆写。语法更加令人不解,IDisposable的Dispose方法被视为不可从代码中直接调用,而必须用delete语法调用Dispose,真是@!#$%&^%。而且我的Managed DirectX系列程序竟然不能编译了,提示是:

Error 1  error C2535: 'Microsoft::DirectX::Direct3D::VertexBuffer::~VertexBuffer(void)' : member function already defined or declared e:\My Documents\Visual Studio\Projects\MDXTest2\MDXTest2\DirectXProgram.h 40    

还有

Error 3  error C2535: 'Microsoft::DirectX::Direct3D::Device::~Device(void)' : member function already defined or declared e:\My Documents\Visual Studio\Projects\MDXTest2\MDXTest2\DirectXProgram.h 80    

等等,即Device、VertexBuffer等类型都无法创建实例,只要一创建就会有这种错误。这Device和VertexBuffer又不是我编写的,什么~Device已经定义过了,简直是胡说八道嘛!

不管怎么说,这个版本的C++/CLI是没法用的了,我的Managed DirectX学习笔记也要暂时改用Visual Basic和C#来进行了(也好,所有的语言都用用)。由于要重写实验项目,所以今天是写不出来了,过两天继续。