Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用libconfini静态回调将值赋给类变量 我在C++中编写一个类,用于读取.ini文件,并将所有的条目填充到私有变量(vector InItAccess)中。然而,在libconfini中,我注意到我们需要实现一个静态回调函数,并使用它的dispatcher从.ini文件中获取每个key=value_C++_Parsing_Static_Ini - Fatal编程技术网

如何使用libconfini静态回调将值赋给类变量 我在C++中编写一个类,用于读取.ini文件,并将所有的条目填充到私有变量(vector InItAccess)中。然而,在libconfini中,我注意到我们需要实现一个静态回调函数,并使用它的dispatcher从.ini文件中获取每个key=value

如何使用libconfini静态回调将值赋给类变量 我在C++中编写一个类,用于读取.ini文件,并将所有的条目填充到私有变量(vector InItAccess)中。然而,在libconfini中,我注意到我们需要实现一个静态回调函数,并使用它的dispatcher从.ini文件中获取每个key=value,c++,parsing,static,ini,C++,Parsing,Static,Ini,通过使用libconfini,我的回调函数如下所示:(请注意,这个回调在tINIParser类中是静态的,它必须符合libconfini的要求!) 现在主要的问题是:如何将分派值存储到解析器类变量中?我收到链接错误和编译错误,例如: 警告:针对只读部分中的重新定位 在函数“tINIParser::callback(IniDispatch*,void*)”中: 对“tINIParser::iniKeysTemp[abi:cxx11]的未定义引用” 对'tINIParser::iniValuesT

通过使用libconfini,我的回调函数如下所示:(请注意,这个回调在tINIParser类中是静态的,它必须符合libconfini的要求!)

现在主要的问题是:如何将分派值存储到解析器类变量中?我收到链接错误和编译错误,例如:

  • 警告:针对只读部分中的
    重新定位
  • 在函数“tINIParser::callback(IniDispatch*,void*)”中:
  • 对“tINIParser::iniKeysTemp[abi:cxx11]的未定义引用”
  • 对'tINIParser::iniValuesTemp[abi:cxx11]的未定义引用

    • 你的问题不是很清楚。但是,库似乎有一个C++类的例子来做更多或更少的你想做的事情(和),为什么不从编辑它开始?

      int tINIParser::callback(IniDispatch * dispatch, void * v_other)
      {
          string data = dispatch->data;
          string value = dispatch->value;
          // Now to store into
          if (dispatch->type==INI_KEY)
          {
              // I tried this... (iniKeysTemp and iniValuesTemp are private in tINIParser and non-static but I also tried to use static)
              iniKeysTemp = data;
              iniValuesTemp = value;
              // And also this with vectors... (iniKeys and iniValues are private in tINIParser and non-static but I also tried to use static)
              iniKeys.push_back(data);
              iniValues.push_back(value);
          }
          return 0;
      }