#include <iostream>
#include <fstream>
#include <vector>
#include <iomanip>
#include <list>
#include <climits>
using namespace std;
struct node {
int weight;
bool pizza; // true an tin exo
vector <char> path;
int tetmimeni, tetagmeni; // i, j gia na vro geitones
} ;
node a;
int main(){
a.tetmimeni=0; // create start node
a.tetagmeni=0;
a.weight=0;
a.pizza=true;
a.path= path.push_back('S');
答案 0 :(得分:2)
将a.path= path.push_back('S');
替换为a.path.push_back('S');
原始代码尝试将push_back
的返回类型分配给a.path
无效。
相反,您只想调用结构的push_back
成员的std::vector
方法。
答案 1 :(得分:0)
在您的代码中,node是一个结构。 Path是struct的一个元素。 无论何时需要访问struct的元素,都必须使用struct的名称。
e.g。当'a'属于类型节点时,a.pizza或a.weight。
同样,当您想要访问矢量路径时,您需要访问a.path。即使你需要调用vector的函数也没关系。
你应该通过struct / class