为什么这个代码会报错:
#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<vector>
#include<queue>
using namespace std;
#define il inline
#define rei register int
il void readln(int &I){略;}
struct graph{//图
int n,m;
struct edge{
int fr,to,we,nxt; edge(){}
edge(int rf,int ot,int ew,int nx){fr=rf,to=ot,we=ew,nxt=nx;}
const bool operator<(const edge& E){return we<E.we;}
};
vector<edge>e;vector<int>fir;
void add(int u,int v,int w){略;}
void dij(int root){
priority_queue<edge>q;
for(i=fir[root];i!=-1;i=e[root].nxt)q.push(e[i]);/*这一行错了*/
略;
}
}g;
int main(){略;}