将通用值从结构复制到可变C
Copy generic value from struct to variable c++
如说明中所述,我需要将一个值从struct中的变量复制到另一个变量,但没有错误,CMD不断崩溃。
struct GateNode
{
string gatename;
bool gatenPos=1;
vector<struct GateNode*>inputs;
bool (*ptrf)(vector<bool>);//puntatore a una funzione;
};
然后在main()
中int main()
{
vector<bool> Op;
GateNode *ptr,g;
ptr=&g;
Op[0]=ptr->gatenPos;
return 0;
}
cmd崩溃,没有给我任何错误!我该如何实现?如果cout ptr-> gatenpos它显示了正确的值,但我无法复制它!
vector<bool> Op;
这创建了一个向量。向量为空。它不包含任何东西。
Op[0]=ptr->gatenPos;
这将某些内容分配给Op
中的值#0,即Op
中的第一个值。但是,正如我们刚刚确定的那样,Op
是空的,不包含任何值。分配给不存在的值是不确定的行为,通常会导致崩溃。
您必须将新值插入向量。Op[something]
不会在向量中插入新值,而仅替换必须存在的向量中的现有值。如果不存在,则结果行为是不确定的。
a std::vector
包含多个函数,这些函数将新值插入向量,尤其是 push_back
()和 insert
()。在这种情况下,push_back
()将是适当的:
Op.push_back(ptr->gatenPost);
相关文章:
- 在一个微不足道的可复制结构中,移动语义应该实现吗?
- 复制结构 tm
- 复制结构时,system.AccessVioLationException
- C++:是否隐式复制结构
- 复制结构的一部分
- 在不使用 std::copy 函数的情况下编写这个复杂的复制结构体
- memcpy 问题 -> 尝试复制结构数组
- 使用declard和参数转发构造函数隐式复制结构
- 如何复制结构数组
- 如何复制结构数组
- C++ 不带指针的复制结构
- 添加到矢量而不复制结构数据
- 从 std::vector 中删除复制结构成员
- 仅在发布版本中出错,从 std::vector 复制结构
- 引用或复制结构的结构(已分配的memset)是一件有效的事情
- 深度复制结构C++
- 如何从指向void的指针复制结构体
- 在新版本的 gcc 上返回隐式不可复制结构的 std::map 时出现编译错误
- C/C++是如何复制结构的
- c++内存复制结构体到字节数组中