問題タブ [result-of]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++11 - 「std::result_of」に「type」という名前の型がありません。関数のオーバーロードから戻り値の型を取得する
typeオーバーロードされた関数test()vsの戻り値を取得する方法を学習していますtest(double)。
SO answer (by chris)からコードを変更しました。
コンパイルエラーになりました。
エラー: 'std::result_of' に 'type' という名前の型がありません
私が理解しているように:-
TestType<...>「バリアディックテンプレート」です。
私自身の言葉で言えば、任意の量のパラメーターを持つパックされた略語のように機能します。関数 のID
TestType<double>です。test(double)std::result_of<TestType<double>>::typeの戻り型ですtest(double)。
doubleDatする必要がありますdouble。
質問:コンパイルできないのはなぜですか? それを解決する方法は?
私はこれらを読みました:-
- オーバーロードされたメンバー関数の decltype - 例がない
std::result_of - c++: エラー: 'class std::result_of<void (*(std::unordered_map - スレッドではなくスレッドに関連する問題) に 'type' という名前の型がありません
std::result_of
手がかり:長い検索の後、コードが「最も厄介な解析」に苦しんでいるというかすかな匂いがします。
c++ - C++17 で「std::result_of」が非推奨になった理由は何ですか?
std::result_ofC++17 では非推奨になっているの を見ました。
std::result_ofC++17 で非推奨になった理由は何ですか?- また、 と の違いを知りたい
std::result_ofですstd::invoke_result。