vc6.0代码想vs2008转换的几个小问题

来源:互联网 发布:淘宝网毛线批发零售 编辑:程序博客网 时间:2024/04/20 13:57

    近日由于工作需要不得不把在vc6.0上写的代码转换到vs2008上。最开始就是直接复制粘贴,本以为坑定不会有什么问题,结果一编译运行就会出现下面的错误:

error C3861: “min”: 找不到标识符

error C2668: “pow”: 对重载函数的调用不明确


详细说明:

第一个错误就是我用到了min这个函数,就是求最小值的,如min(100, lines1->total)等类似的用法;

错误原因,在vc6.0上的头文件都是#include <stdio.h>形式的。

解决办法:只要在vs2008上加入

#include <iostream>
using namespace std;

这个错误就可以解决了,这个错误解决纯属偶然,是我在想ARM上移植时不经意解决的。


第二个错误语音很明了了,就是对重载函数的调用不明确。

错误原因,vs平台下数学函数的参数检查相当的严格。

int型就是int型,float就是float型,如果是float型,写个2,3,4,5之类的就会报上面的错误。

解决办法:就是如果用到double或者float型要写成2.0,3.0类似的形式。