在内联函数中调用外部函数

时间:2015-11-12 06:45:57

标签: c++ function inline

说我有内联函数:

// equality operator where left operand is a long
inline bool operator==(long num, BigInt const& val) {
    return compare(num, val) == 0;
}

其中'比较'在BigInt.h中定义了内联函数。我如何使用比较或甚至可以使用它?

BigInt.h

class BigInt {

public:

//code

int BigInt::compare(long num, BigInt const& other) const;

//code

};

// equality operator where left operand is a long
inline bool operator==(long num, BigInt const& val) {
    return compare(num, val) == 0;
}

1 个答案:

答案 0 :(得分:2)

compare是一个成员函数,您应该将其更改为

// equality operator where left operand is a long
inline bool operator==(long num, BigInt const& val) {
    return val.compare(num, val) == 0;
}

我仍然怀疑为什么compare是一个成员函数。如果它与当前对象无关,它应该只是一个普通函数或静态成员函数。