在这段代码的第35行使用abs()函数出错。编译器我选择了:c(4.3.2)
查看底部的错误。
void bfs(pair<int,int> pixelpos){
bfsq.push(pixelpos);
int u,v,i,j;
pair<int,int> tmpq;
while(!bfsq.empty()){
tmpq = bfsq.front();
u = tmpq.first; v = tmpq.second;
bfsq.pop();
r(i,u-square_dist,u+square_dist) r(j,v-square_dist,v+square_dist)
if(inrange(i,j)){
// ERROR HERE DOWN IN abs() fn
int dist = abs(pixelpos.first - i) + abs(pixelpos.second -j); // Line: 35
if(graph[i][j]>dist){
graph[i][j] = dist;
bfsq.push(pair<int,int> (i,j));
}
}
}
prog.cpp:在函数空bfs(std::对)中:
掠夺。cpp:35:错误:重载“abs(int)”的调用不明确
/usr/include/c/4.3/cmath:99:注:候选项为:双std::abs(双)/usr/include/c/4.3/cmath:103:注:浮点std::abs(浮点)
/usr/include/c/4.3/cmath:107:注:长双标准::abs(长双)
掠夺。cpp:35:错误:重载“abs(int)”的调用不明确
/usr/include/c/4.3/cmath:99:注:候选项为:双std::abs(双)
/usr/include/c/4.3/cmath:103:注:浮点std::abs(浮点)
/usr/include/c/4.3/cmath:107:注:长双标准::abs(长双)
原因可能是什么?
出现错误的原因可能是您没有包括标题<代码>
#include <cstdlib>
标准C函数
int abs(int j);
在C头文件<代码>
尽管C标准允许在全局命名空间中放置标准C名称,但最好使用限定名称,例如
int dist = std::abs(pixelpos.first - i) + std::abs(pixelpos.second -j);
描述 (Description) 此函数返回其参数的绝对值。 如果传递纯整数值,那么它将按原样返回,但如果传递一个字符串则返回零。 如果省略VALUE则使用$ _ 语法 (Syntax) 以下是此函数的简单语法 - abs VALUE abs 返回值 (Return Value) 此函数返回其参数的绝对值。 例子 (Example) 以下是显示其基本用法的示例代码 - #!/usr/bin/pe
描述 (Description) 此方法接受整数并返回给定整数的绝对值。 语法 (Syntax) 以下是此方法的语法。 Math.abs( x ) 例子 (Example) 以下示例演示了CoffeeScript中abs()方法的用法。 将此代码保存在名为math_abs.coffee的文件中。 value = Math.abs(-1); console.log "The absolute va
abs(计算整型数的绝对值) 相关函数 labs, fabs 表头文件 #include<stdlib.h> 定义函数 int abs (int j) 函数说明 abs()用来计算参数j的绝对值,然后将结果返回。 返回值 返回参数j的绝对值结果。 范例: #ingclude <stdlib.h> main(){ int ansert; answer = abs(-12); printf("|-12
此方法返回输入数字的绝对值。 语法 (Syntax) ABS(i) 参数 (Parameters) i - 这是需要确定绝对值的输入数字。 返回值 (Return Value) 返回值是输入数字的绝对值。 例子 (Example) /* Main program */ i = 50.5 j = -40.4 say ABS(i) say ABS(j) 当我们运行上述程序时,我们将得到以
描述 (Description) 此方法接受整数并返回给定整数的绝对值。 语法 (Syntax) 以下是此方法的语法。 Math.abs( x ) 例子 (Example) 以下示例演示了CoffeeScript中abs()方法的用法。 将此代码保存在名为math_abs.coffee的文件中。 value = Math.abs(-1); console.log "The absolute va
描述 (Description) 该方法给出了参数的绝对值。 参数可以是int,float,long,double,short,byte。 语法 (Syntax) 以下是此方法的所有变体 - double abs(double d) float abs(float f) int abs(int i) long abs(long lng) 参数 (Parameters) 这是参数的细节 - 任何原