的返回值這是我的問題: 從來就定義了一些值:地址陣列枚舉
enum HarmCons
{
val1 = 0,
val2 = 2,
val3 = 4,
val4 = 6
};
,我有一個數組
int foo [7] = { 16, 2, 77, 40, 1222, 34, 5};
這是我從一個輸入文件中讀取。我也有這樣的:
char types[15] = "val1,val3,val4";
現在我想單獨由commata和地址字符串(在一個循環中)的條目foo
。所以字符串的第一部分應該是val1
,它應該返回16
。 我試過foo[val1]
它工作正常。問題是,通過分隔字符串,我總是會得到一個字符串或某些東西,我無法用字符串來尋址數組。 有沒有可能以一種我可以使用結果來解決數組的方式來分隔字符串?
這些名稱是否總是按照'val1,val2,val3'的順序排列,或者它們可能存在空位或未被排序或不遵循這種固定模式? –
在C++中沒有反射字符串來枚舉,你可以看看庫[更好的枚舉](https://github.com/aantron/better-enums)來幫助那部分。 – Jarod42
有13個可能的名稱,它不是固定數量的名稱,它們也沒有訂購。 – WinterMensch