如何使用C ++中的基元对运算符进行全局重载?

时间:2017-02-07 00:53:58

标签: c++ operator-overloading homebrew

我试图用一个带有两个原语(带符号的32位整数)的函数全局重载一个运算符,但是我的编译器给了我这个错误:

In file included from src/math.cc:31:0:
include/saturn/math.hh:38:34: error: 's32 operator/(s32, s32)' must have an argument of class or enumerated type
 s32 operator /( s32 num, s32 den );
                                  ^

我需要的是能够使用除法运算符并具有一个函数 - 在这种情况下称为BIOS功能 - 执行除法。没有这个我假设除法运算符不起作用,因为我的目标CPU没有除法指令;我的BIOS为此提供了功能。

我使用devkitPro提供的GCC工具链来瞄准Nintendo Game Boy Advance,我不能使用他们提供的库来完成这项任务。

0 个答案:

没有答案