andajian 发表于 2019-5-15 15:43:44

c++求助,这个abs()报错了

小甲鱼C++快速入门第27集里照抄的函数,用Code Blocks17.12编绎运行

头文件:
#include <iostream>
#include <string>
#include <cmath>


报错的代码段:void Rational::normalize()
{
   if( denominator < 0)
   {
         numerator = -numerator;
         denominator = -denominator;
   }

   int a = abs(numerator);
   int b = abs(denominator);

   while( b > 0 )
   {
         int t = a % b;
         a = b;
         b = t;
   }

   numerator /=a;
   denominator /=a;
}

这个abs报错如下:||=== Build: Debug in 2019-5-15 (compiler: GNU GCC Compiler) ===|
D:\CodeBlocks\2019-5-15\main.cpp||In member function 'void Rational::normalize()':|
D:\CodeBlocks\2019-5-15\main.cpp|42|error: 'abs' was not declared in this scope|

andajian 发表于 2019-5-15 15:44:36

{:10_266:}

Mumun 发表于 2019-5-15 15:48:22

添加头文件 #include <stdlib.h>

andajian 发表于 2019-5-15 15:52:44

Mumun 发表于 2019-5-15 15:48
添加头文件 #include

谢谢,问题 解决了,我看小甲鱼视频里没有这段代码,是编绎器问题吗

Mumun 发表于 2019-5-15 15:56:38

andajian 发表于 2019-5-15 15:52
谢谢,问题 解决了,我看小甲鱼视频里没有这段代码,是编绎器问题吗

你直接用vs学习吧

andajian 发表于 2019-5-15 16:00:23

Mumun 发表于 2019-5-15 15:56
你直接用vs学习吧

好吧

TOP_LK 发表于 2019-5-15 16:02:42

少了命名空间std::abs
页: [1]
查看完整版本: c++求助,这个abs()报错了