Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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
C++ 从嵌套列表的成员,如何调用外部数据_C++ - Fatal编程技术网

C++ 从嵌套列表的成员,如何调用外部数据

C++ 从嵌套列表的成员,如何调用外部数据,c++,C++,在read函数中,如何填写sent?换句话说,如何调用sent 编辑: 我知道这是一个无关紧要的问题,但我对嵌套结构知之甚少,您能给出任何网站建议吗?嵌套类只需要一个指向封闭类的指针或引用。这可以通过嵌套类的构造函数传入 struct object { string sent ; ...// other data declaration struct nested { void read ( void ) ; }; };

在read函数中,如何填写sent?换句话说,如何调用sent

编辑:


我知道这是一个无关紧要的问题,但我对嵌套结构知之甚少,您能给出任何网站建议吗?嵌套类只需要一个指向封闭类的指针或引用。这可以通过嵌套类的构造函数传入

struct object {
      string sent ;
      ...// other data declaration
      struct nested {
            void read ( void ) ;
      };
};

然后,您可以通过
m_obj
参考变量访问
object::sent

您需要对结构进行一些更改:

struct nested 
{
  nested(object& obj) : m_obj(obj) { }

  object& m_obj;
};
首先,假设
read
函数是非静态的,您需要在
object
中嵌套
的一个实例(或者在外部,我把它放在内部),然后您需要将
object
的一个实例传递给该函数。。然后你可以打电话

struct object {
      std::string sent ;

      struct nested {
            void read ( object& obj ) { obj.sent = "FOO"; }
      } bar;
};
编辑:如果在
nested
中有多个函数访问
对象
,则在
对象
的构造函数中,使用自身构造
条(
*此
),以便像Charles在回答中所说的那样,
nested
具有对“父实例”的引用

object foo;
foo.bar.read(foo); // this will set it