您的位置:控制工程论坛网论坛 » 自动化软件 » 软件开发过程

zhiy66

zhiy66   |   当前状态:在线

总积分:6528  2024年可用积分:0

注册时间: 2007-12-18

最后登录时间: 2012-01-11

空间 发短消息加为好友

软件开发过程

zhiy66  发表于 2008/12/1 16:28:43      704 查看 1 回复  [上一主题]  [下一主题]

手机阅读

今天,程序有了一点动静了。 

    我把自己在原来的模板类里面添加的成员函数都挨个的测试了一遍,可以顺利运行了。先不说时间开销和存储空间的开销有多优化,至少,在功能上,可以按我的构想运行了。

    有几点让我感触比较深。在写大型程序的时候,模块化很关键。在实现函数的时候,一定要写一个,测试一个,测试成功了再加入到大的程序块中,再便一整个大的程序快,直到成功。要不然,很多函数一起一起测试很难找到确切的错误在哪里。

    就那天还遇到一个问题,就是我要定义一模板类class matrix< _Ty>{...}中的一个成员函数void Reshape(CPtrArray & reshape_result,size_t I,size_t J,size_t K)

其中size_t是unsigned int的宏定义。要用到CPtrArray类,我就包含了#include<afxcoll.h> 这个头文件。但是编译时报错:

error C2678: binary '!=' : no operator defined which takes a left-hand operand of type 'const class std::valarray<double>' (or there is no acceptable conversion)

在实际的程序中,重载运算符“!=”我已经定义了。

当注释掉这句时,编译通过了,而且还运行出了正确的结果,

我现在也不知道是什么原因,请各位高手指点迷津。

      还有上次遇到一个问题,就是如何将VC生成的.exe文件脱离VC环境运行?我在网上搜了一些资料,但是似乎那些对基于DOS的输出界面不起作用。

    补充一句,我的程序不是基于MFC的。

1楼 0 0 回复
总共 , 当前 /