在带有std :: function的bool输入中使用boost变量

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

请参见以下代码:

void stringPtrFunc(const std::string *s) {}
void boolFunc(const bool b) {}

int main() {
    boost::variant<std::function<void(const std::string *)>, std::function<void(const bool)>> myVariant;

    myVariant = &stringPtrFunc; // Compiles fine
    myVariant = &boolFunc; // Error
}

我收到关于模棱两可的过载的错误。似乎stringPtrFunc可转换为boolFunc,反之亦然。为什么没有完全匹配?我可以强制比赛吗?

谢谢,

Ryan

c++ function pointers boost variant
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.