15
これはおそらく非常に単純な答えですが、実際には分かりません。なぜこれを行うにはエラーが発生するのですか?このようなものを初期化する正しい方法は何ですか? MSVC 2015年タイルのタイルの配列を中括弧で初期化します
std::array<std::tuple<int, std::string>, 3> tuples{
{3, "a"},
{7, "b"},
{2, "c"}
};
、私は、次のエラーを取得:
No suitable constructor exists to convert from "int" to "std::tuple<int, std::string>"
No suitable constructor exists to convert from "const char[2]" to "std::tuple<int, std::string>"
だから、他の男の削除された答えは、実際に私が投稿する前に働いた理由です。私はそれが私が期待していなかった何か他のことをしていたかもしれないと思った。私はC配列を使用するか、そうするしかないでしょう。 Ugh ... C++ 17は十分に速くなりません。 – Alex
@AlexYan:あなたの現在の型は2つのメンバしか持たないので、 'pair'を使うことができます。 –
'std :: make_tuple'も動作します。 (理由はわかりません) – edmz