struct vertex { char r,c; cube o; }; struct comparison { bool operator()(vertex a, vertex b) { //ordering function for priority queue return min_dist[a.r][a.c][a.o.d][a.o.n] < min_dist[b.r][b.c][b.o.d][b.o.n]; } };