簡體   English   中英

C ++ ptr_fun沒有找到void參數化函數

[英]C++ ptr_fun not finding void parameterized functions

我嘗試使用std :: ptr_fun來包裝我的函數,但是當我嘗試用void參數和bool返回類型包裝函數時,我最終得到一個錯誤:

碼:

std::function<bool()> cr = std::not1(std::ptr_fun(&funct1));

功能:

bool funct1()      
{                  
    return false;     
}

錯誤:

錯誤:沒有匹配函數來調用'ptr_fun(bool(*)())'

但每當我將參數更改為int時,問題似乎就消失了。

如何用void參數包裝函數?

std::ptr_fun僅適用於一元函數:只有一個參數的函數。

bool funct1(); 不是一元函數,它是一個虛函數。 沒有void參數這樣的東西。 語法bool funct1(void); 繼承自C只是一種奇怪的方式,說根本沒有參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM