错误:无法解析对重载函数的引用;您是要打电话吗?

问题描述 投票:0回答:1

以下代码

#include <cstddef>
using std::size_t;

int hOccupy(int* numB, const void* f, int bS, size_t dyn);

template <class T>
inline int hOccupy(int* numB, T f, int bS, size_t dyn) {
    return hOccupy(numB, reinterpret_cast<const void*>(f), bS, dyn);
}

int main(int argc, char *argv[]) {
    decltype(&hOccupy) f = &hOccupy;
}

给出错误

 error: reference to overloaded function could not be resolved; did you mean to call it?

任何人都可以建议这里有什么问题以及如何解决它。

c++ c++11 c++17
1个回答
1
投票

hOccupy是重载函数。这意味着为了获取它的地址,您需要指定想要该地址的重载。例如,如果您希望指针指向

© www.soinside.com 2019 - 2024. All rights reserved.