Я написал шаблон класса (в файле abc.hpp
):
template <class Node>
class Edge {
public:
Edge(Node n1, Node n2):_start(MIN(n1,n2)),_end(MAX(n1,n2)) {};
Node GetStart ()const {return _start;}
Node GetEnd ()const {return _end;}
friend std::ostream& operator<<(std::ostream& os, const Edge<Node>& ed)
{
os << "(" << ed._start << ", " << ed._end << ")";
return os;
}
protected:
Node _start;
Node _end;
};
И я написал тестовую программу:
#include <iostream>
#include "abc.hpp"
int main (){
Edge<int> my_var (1,2);
Edge<int> my_var2 (1,3);
int vstart = my_var.GetStart;
int vend = my_var.GetEnd;
cout << my_var << " : " << my_var2 << endl;
}
Когда я пытаюсьскомпилируйте его (используя devcpp), компилятор выдает сообщение об ошибке, касающееся строк int vstart = my_var.GetStart;
и int vend = my_var.GetEnd;
argument of type `int(Edge<int>::)() const` does not match `int`
В чем проблема и как ее исправить?