n*****e 发帖数: 17 | 1 我的code在g++下编译没有问题,在2005.net下,报错
error C3861: 'round': identifier not found
我已经include了"math.h"了,而且程序里的floor,ceil都没有问题
尝试了Math::Round(double,int)也不识别(MSDN里的例子)
请高手帮忙 | p***n 发帖数: 39 | 2 贴程序呀
【在 n*****e 的大作中提到】 : 我的code在g++下编译没有问题,在2005.net下,报错 : error C3861: 'round': identifier not found : 我已经include了"math.h"了,而且程序里的floor,ceil都没有问题 : 尝试了Math::Round(double,int)也不识别(MSDN里的例子) : 请高手帮忙
| n*****e 发帖数: 17 | 3 谢谢!
我做一个网格里的线性插值
class Density里面定义了 _ilen, _jlen, _rg[][];
#include "math.h"
double Density::bilinearRg(double x, double y) {
int i, j;
double x1, x2, y1, y2;
j=static_cast(round(x*_jlen,0));
~~~~~~~~~~~~~~~~ 'round': identifier not found
if(j<0) j=0;
if(j>_jlen) j=_jlen;
i=static_cast(round(y*_ilen));
~~~~~~~~ 'round': identifier not found
if(i<0) i=0; if(i>_ilen) i=_ilen;
x1=(j-.5)/_jlen;
x2=x1+1./_jlen;
y1=(i-.5)/_i
【在 p***n 的大作中提到】 : 贴程序呀
| p*****e 发帖数: 310 | 4 c++库里没有round, 只有floor和ceil,你可以用floor来实现round。
另外floor和ceil返回double,你需要转换
【在 n*****e 的大作中提到】 : 谢谢! : 我做一个网格里的线性插值 : class Density里面定义了 _ilen, _jlen, _rg[][]; : #include "math.h" : double Density::bilinearRg(double x, double y) { : int i, j; : double x1, x2, y1, y2; : j=static_cast(round(x*_jlen,0)); : ~~~~~~~~~~~~~~~~ 'round': identifier not found : if(j<0) j=0;
|
|