사용자 지정 비교 함수를 사용하여 정렬 및 힙에 사용하려고합니다. 현재 클래스 노드는 operatir <을 사용합니다. 나는 비 정적으로 Cmpr을 정의 error.I가 정적 만들기 위해 시도 non_static 기능 멤버를 가지고 :클래스의 정적 함수는 오류를 나타냅니다. 두 개 이상의 데이터 형식이 선언에 있습니다.
class Node{
public:
int id;
int dist;
Node(int node_id, int fdist = -1):
id (node_id),
dist (fdist)
{};
bool operator<(const Node & other) const{
return dist > other.dist;
}
static bool Cmpr(Node a, Node b){
return a->dist > b->dist;
}
};
나는 항상 다음과 같은 오류 얻을 :
file.cpp on line 14:36: error: two or more data types in declaration of 'Cmpr'
static bool Cmpr(Node a, Node b){
무엇 내 코드가 잘못 됐어?
정적 bool Cmpr (노드 a, 노드 b) {'/'정적 bool Cmpr (노드 * a, 노드 * b) {' – user0042
아, 그 감사하는 sed. Halley의 팬과 그의 Comet의 고전 awk을 24 시간 내내 더 좋아합니다. – user4581301