我使用了一些模板技巧來推導出一些函數的返回類型,正如您所看到的,但由於某些原因,此代碼無法編譯。我希望你的幫助能夠理解錯誤的原因,如果可能的話,如何解決錯誤。 變體類可以找到here。 我有以下代碼: class Value {
....
using values = variant<std::shared_ptr<const std::string> , unsigned int,
我想要做的實際上是(簡體但再現問題): using my_variant_t = variant<int, function<void (recursive_wrapper<my_variant_t>)>>;
也就是說,一個變體可以是int,或接受同類型的變體作爲一種功能論據。但是,這當然失敗了,因爲‘my_variant_t’ was not declared in this scope。好