web-dev-qa-db-ja.com

スコープ設定-「リスト」タイプは何を返しますか?

このコードを使用して、リスト(settings.iniで[listname]という名前で定義されている)から選択された文字列を取得しようとしています。

unity::scopes::VariantMap config = settings();
std::string selected_string = config["listname"].get_string();

しかしそれはこれを言います:

ScopeBase::run(): unity::LogicException: Variant does not contain a string value:
boost::bad_get: failed value get using boost::get

Variant変数には何が含まれていますか?選択したエントリを取得するにはどうすればよいですか?

2
Dan

わかりました。バリアントには整数が含まれているので、次を使用する必要があります。

config["listname"].get_int();

そして、残りをコードで実行します(settings.iniの値の順序に従って)

3
Dan