libconfig ライブラリを使用して、外部構成ファイルから変数を解析しようとしています。
libconfigサイトでは、クラスConfigは構成を表し、クラスSettingは構成設定を表します。設計上、これらのクラスはどちらもパブリック コピー コンストラクターまたは代入演算子を提供しないことに注意してください。したがって、これらのクラスのインスタンスは、参照またはポインターを介して関数間でのみ受け渡しできます。
Setting クラス参照を返す関数を作成するのに苦労しています (私の理解では、ローカル オブジェクトへの参照を返すことは嫌われています。しかし、上記の制限を考慮してグローバル参照を宣言する方法がわかりません)。下部に、これをコーディングしようとしたスニペットを添付しましたが、機能していません。私は C++ を初めて使用し、現在その教科書を読んでいますが、参照とポインターの処理についてはまだ不安定です。私が間違っていることに誰かが光を当てることができれば幸いです。
config.cfg
A=
{
min = 3;
}
コード
libconfig::Setting& GetKey(const char* filename, const char* method)
{
libconfig::Config cfg;
cfg.readFile(filename);
libconfig::Setting &root = cfg.getRoot();
libconfig::Setting &key = root[method];
// How can I return key?
}
libconfig::Setting &key = GetKey("config.cfg","A");
key.lookupValue("min",min);