In file included from main.cpp:55:0:
visitor.h:3:10: error: 'Vertex' has not been declared
template<Vertex>
^~~~~~
visitor.h:6:32: error: 'Vertex' does not name a type
void ExamineVertex(const Vertex& vertex) {
^~~~~~
visitor.h:9:33: error: 'Vertex' does not name a type
void DiscoverVertex(const Vertex& vertex) {
^~~~~~
visitor.h:16:31: error: 'Vertex' does not name a type
size_t DistanceTo(const Vertex& target) const {
^~~~~~
visitor.h:29:7: error: 'Vertex' does not name a type
Vertex Parent(const Vertex& vertex) const {
^~~~~~
visitor.h:34:7: error: 'map' does not name a type
map<Vertex, Vertex> parent_;
^~~
visitor.h:35:7: error: 'Vertex' does not name a type
Vertex current_vertex_;
^~~~~~
visitor.h:37:4: error: expected ';' after class definition
}
^
;
visitor.h: In member function 'void BfsVisitor<<anonymous> >::ExamineVertex(const int&)':
visitor.h:7:11: error: 'current_vertex_' was not declared in this scope
current_vertex_ = vertex;
^~~~~~~~~~~~~~~
visitor.h: In member function 'void BfsVisitor<<anonymous> >::DiscoverVertex(const int&)':
visitor.h:12:15: error: 'current_vertex_' was not declared in this scope
current_vertex_ = vertex;
^~~~~~~~~~~~~~~
visitor.h:14:11: error: 'parent_' was not declared in this scope
parent_[vertex] = current_vertex_;
^~~~~~~
visitor.h:14:11: note: suggested alternative: 'printf'
parent_[vertex] = current_vertex_;
^~~~~~~
printf
visitor.h:14:29: error: 'current_vertex_' was not declared in this scope
parent_[vertex] = current_vertex_;
^~~~~~~~~~~~~~~
visitor.h: In member function 'size_t BfsVisitor<<anonymous> >::DistanceTo(const int&) const':
visitor.h:18:11: error: 'Vertex' was not declared in this scope
Vertex current_target = target;
^~~~~~
visitor.h:20:22: error: expected ';' before 'parent_of_target'
Vertex parent_of_target = parent_[current_target];
^~~~~~~~~~~~~~~~
visitor.h:21:19: error: 'parent_of_target' was not declared in this scope
if (parent_of_target == current_target) {
^~~~~~~~~~~~~~~~
visitor.h:21:39: error: 'current_target' was not declared in this scope
if (parent_of_target == current_target) {
^~~~~~~~~~~~~~
main.cpp: In function 'int main()':
main.cpp:58:39: error: type/value mismatch at argument 1 in template parameter list for 'template<<typeprefixerror><anonymous> > class BfsVisitor'
static_assert(sizeof(BfsVisitor<char>) <= 2*sizeof(char*));
^
main.cpp:58:39: note: expected a constant of type '<type error>', got 'char'
main.cpp:63:19: error: type/value mismatch at argument 1 in template parameter list for 'template<<typeprefixerror><anonymous> > class BfsVisitor'
BfsVisitor<int> visitor;
^
main.cpp:63:19: note: expected a constant of type '<type error>', got 'int'
main.cpp:65:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
if (visitor.DistanceTo(1) != 1 ||
^~~~~~~~~~
main.cpp:66:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
visitor.DistanceTo(2) != 2 ||
^~~~~~~~~~
main.cpp:67:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
visitor.DistanceTo(3) != 3 ||
^~~~~~~~~~
main.cpp:68:17: error: request for member 'Parent' in 'visitor', which is of non-class type 'int'
visitor.Parent(0) != 0 ||
^~~~~~
main.cpp:69:17: error: request for member 'Parent' in 'visitor', which is of non-class type 'int'
visitor.Parent(1) != 0 ||
^~~~~~
main.cpp:70:17: error: request for member 'Parent' in 'visitor', which is of non-class type 'int'
visitor.Parent(2) != 1 ||
^~~~~~
main.cpp:71:17: error: request for member 'Parent' in 'visitor', which is of non-class type 'int'
visitor.Parent(3) != 2 ||
^~~~~~
main.cpp:81:19: error: type/value mismatch at argument 1 in template parameter list for 'template<<typeprefixerror><anonymous> > class BfsVisitor'
BfsVisitor<int> visitor;
^
main.cpp:81:19: note: expected a constant of type '<type error>', got 'int'
main.cpp:83:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
if (visitor.DistanceTo(1) != 1 ||
^~~~~~~~~~
main.cpp:84:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
visitor.DistanceTo(2) != 1 ||
^~~~~~~~~~
main.cpp:85:17: error: request for member 'Parent' in 'visitor', which is of non-class type 'int'
visitor.Parent(1) != 0 ||
^~~~~~
main.cpp:86:17: error: request for member 'Parent' in 'visitor', which is of non-class type 'int'
visitor.Parent(2) != 0 ||
^~~~~~
main.cpp:114:19: error: type/value mismatch at argument 1 in template parameter list for 'template<<typeprefixerror><anonymous> > class BfsVisitor'
BfsVisitor<int> visitor;
^
main.cpp:114:19: note: expected a constant of type '<type error>', got 'int'
main.cpp:116:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
if (visitor.DistanceTo(1) != 1 ||
^~~~~~~~~~
main.cpp:117:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
visitor.DistanceTo(2) != 1 ||
^~~~~~~~~~
main.cpp:118:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
visitor.DistanceTo(3) != 1 ||
^~~~~~~~~~
main.cpp:119:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
visitor.DistanceTo(4) != 2 ||
^~~~~~~~~~
main.cpp:120:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
visitor.DistanceTo(5) != 2 ||
^~~~~~~~~~
main.cpp:121:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
visitor.DistanceTo(6) != 3 ||
^~~~~~~~~~
main.cpp:122:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
visitor.DistanceTo(7) != 1 ||
^~~~~~~~~~
main.cpp:123:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
visitor.DistanceTo(8) != 2 ||
^~~~~~~~~~
main.cpp:124:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
visitor.DistanceTo(9) != 3 ||
^~~~~~~~~~
main.cpp:125:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
visitor.DistanceTo(10) != 4 ||
^~~~~~~~~~
main.cpp:126:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
visitor.DistanceTo(11) != 4 ||
^~~~~~~~~~
main.cpp:127:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
visitor.DistanceTo(12) != 4 ||
^~~~~~~~~~
main.cpp:128:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
visitor.DistanceTo(13) != 4 ||
^~~~~~~~~~
main.cpp:129:17: error: request for member 'DistanceTo' in 'visitor', which is of non-class type 'int'
visitor.DistanceTo(14) != 4 ||
^~~~~~~~~~
main.cpp:130:17: error: request for member 'Parent' in 'visitor', which is of non-class type 'int'
visitor.Parent(1) != 0 ||
^~~~~~
main.cpp:131:17: error: request for member 'Parent' in 'visitor', which is of non-class type 'int'
visitor.Parent(2) != 0 ||
^~~~~~
main.cpp:132:17: error: request for member 'Parent' in 'visitor', which is of non-class type 'int'
visitor.Parent(3) != 0 ||
^~~~~~
main.cpp:133:17: error: request for member 'Parent' in 'visitor', which is of non-class type 'int'
visitor.Parent(7) != 0 ||
^~~~~~
main.cpp:134:17: error: request for member 'Parent' in 'visitor', which is of non-class type 'int'
visitor.Parent(4) != 3 ||
^~~~~~
main.cpp:135:17: error: request for member 'Parent' in 'visitor', which is of non-class type 'int'
visitor.Parent(5) != 3 ||
^~~~~~
main.cpp:136:17: error: request for member 'Parent' in 'visitor', which is of non-class type 'int'
visitor.Parent(11) != 6 ||
^~~~~~
main.cpp:137:17: error: request for member 'Parent' in 'visitor', which is of non-class type 'int'
visitor.Parent(8) != 7 ||
^~~~~~
main.cpp:138:17: error: request for member 'Parent' in 'visitor', which is of non-class type 'int'
visitor.Parent(9) != 8 ||
^~~~~~
main.cpp:139:17: error: request for member 'Parent' in 'visitor', which is of non-class type 'int'
visitor.Parent(10) != 9 ||
^~~~~~
main.cpp: In instantiation of 'void BreadthFirstSearch(const Graph&, const Vertex&, Visitor) [with Graph = UndirectedGraph<int>; Vertex = int; Visitor = int]':
main.cpp:64:41: required from here
main.cpp:13:11: error: request for member 'DiscoverVertex' in 'visitor', which is of non-class type 'int'
visitor.DiscoverVertex(origin_vertex);
~~~~~~~~^~~~~~~~~~~~~~
main.cpp:18:13: error: request for member 'ExamineVertex' in 'visitor', which is of non-class type 'int'
visitor.ExamineVertex(from);
~~~~~~~~^~~~~~~~~~~~~
main.cpp:23:17: error: request for member 'DiscoverVertex' in 'visitor', which is of non-class type 'int'
visitor.DiscoverVertex(target);
~~~~~~~~^~~~~~~~~~~~~~
|