この初期化が動作しない原因は何ですか?変換演算子を使用してマップを初期化する
#include <map>
using std::map; using std::pair; using std::make_pair;
struct P {
char a_, b_;
P(char a, char b) : a_{a}, b_{b} {}
operator pair<char,char>() { return make_pair(a_, b_); }
};
int main() {
map<char,char> qmap { P('a','b') };
}
P
で変換演算子がブレース-initialisierリスト内で暗黙的に適用することができないように見えますか?それとも別のことですか?
同時に2つの答え。あなたは "受け入れ"を得る... – towi