【发布时间】:2014-05-23 19:34:59
【问题描述】:
double shrDelta(int iCounterID = 0){ //this is the 27 the line
double DeltaT;
static struct timeval _NewTime;
static struct timeval _OldTime[3];
gettimeofday(&_NewTime, NULL);
if (iCounterID >= 0 && iCounterID <= 2)
{
DeltaT = ((double)_NewTime.tv_sec + 1.0e-6 * (double)_NewTime.tv_usec) - ((double)_OldTime[iCounterID].tv_sec + 1.0e-6 * (double)_OldTime[iCounterID].tv_usec);
_OldTime[iCounterID].tv_sec = _NewTime.tv_sec;
_OldTime[iCounterID].tv_usec = _NewTime.tv_usec;
}
else
{
DeltaT = -9999.0;
}
return DeltaT;
}
该函数应该返回最后两次调用之间经过的时间。
【问题讨论】:
-
不能在 C 函数的参数列表中赋值。
-
我认为您将 C 与其他一些允许您以这种方式指定默认参数的语言混淆了。
-
一般来说,解释你遇到的问题然后在正文中提出问题是一种很好的形式。
-
该函数在 cpp 文件中运行良好,但我只是将整个函数复制到 .c 文件中
标签: c