0
私は現在トグルシステムを作成しようとしています。ここではバンチ可能なオプションと値があります。これらすべてのオプションをパラメータとして入力し、必要なものを取得します。それは私がこれまで試したものです:値に応じて特定のパラメータを見つける
void Toggle(int scroll, int &state, int maxV, ...)
{
state++;
if (state >= maxV)
state = 0;
char *char_State = "";
va_list argptr;
va_start(argptr, maxV);
for (int i = 0; i < maxV; i++)
{
if (i == state)
char_State = va_arg(argptr, char*);
}
va_end(argptr);
printf("State: %s\n", char_State);
}
私はこのようにそれを使用します。
int state = 0;
Toggle(0, state, 3, "Option 1", "Option 2", " Option 3");
printf("StateNum: %i\n", state);
Toggle(0, state, 3, "Option 1", "Option 2", " Option 3");
printf("StateNum: %i\n", state);
Toggle(0, state, 3, "Option 1", "Option 2", " Option 3");
printf("StateNum: %i\n", state);
Toggle(0, state, 3, "Option 1", "Option 2", " Option 3");
printf("StateNum: %i\n", state);
しかし、私の上からのコードを実行しているいくつかの理由では、結果としてこれを取得する:
State: Option 1
StateNum: 1
State: Option 1
StateNum: 2
State: Option 1
StateNum: 0
State: Option 1
StateNum: 1
私は何が間違っていると思いますか?これは私の最初の時間ですので、何か助けがありがとうございました!