C++/CLI ValueTuple::Createのコンパイルが通らない

huahi11115 160 評価のポイント
2024-06-12T23:34:58.6366667+00:00

下のソースコードで、r2への代入のコンパイルが通りません。


		void p1() {
			ValueTuple<byte> r1;
			ValueTuple<byte, byte, byte, byte, byte, byte, byte, byte> r2;

			r1 = System::ValueTuple::Create((byte)0);			//↓コンパイルが通らない行 			r2 = System::ValueTuple::Create((byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0); 		}

名称未設定-1

8番目のオペランドへの代入を受け付けないようです。

これは仕様でしょうか。



.NET
.NET
.NET ソフトウェア フレームワークに基づく Microsoft テクノロジ。
48 件の質問
{count} 件の投票

承認済みの回答
  1. gekka 8,061 評価のポイント
    2024-06-13T00:39:26.6233333+00:00

    8個の引数を持つValueTuple.Createの戻り値の8個めのジェネリック型はValueTuple<T>です。

    void p1() {
        ::System::ValueTuple<::System::Byte> r1;
        ::System::ValueTuple<::System::Byte, Byte, Byte, Byte, Byte, Byte, Byte, ValueTuple< Byte>> r2; //8個目はValueTupleである
    
        r1 = ::System::ValueTuple::Create((Byte)0);
        r2 = ::System::ValueTuple::Create((Byte)0, (Byte)0, (Byte)0, (Byte)0, (Byte)0, (Byte)0, (Byte)0, (Byte)0); 
    }
    
    1 人がこの回答が役に立ったと思いました。

0 件の追加の回答

並べ替え方法: 最も役に立つ