在没有调用的情况下比较函数时,可以通过以下方法得到linter/编译器警告:
bool compareFunc(int (*func)()) {
return func() > 0;
}
int myFunc() {
// 函数逻辑
return 0;
}
int main() {
if (compareFunc(myFunc)) {
// 比较结果为真的处理逻辑
}
return 0;
}
struct CompareFunc {
bool operator()() const {
// 函数逻辑
return false;
}
};
int main() {
CompareFunc func;
if (func()) {
// 比较结果为真的处理逻辑
}
return 0;
}
这样做可以避免在比较函数时触发函数的执行,从而得到linter/编译器警告。在实际开发中,可以根据具体的编程语言和工具链选择适合的方式来实现。
领取专属 10元无门槛券
手把手带您无忧上云