Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

  • Moderators
Δημοσ. (επεξεργασμένο)

Καλησπέρα σας.

 

Επειδή είμαι 2 ώρες πάνω απ' αυτή τη βλακεία και δε μπορώ να δω πού έχω κάνει λάθος, μήπως μπορεί κάποιος να βοηθήσει;

 

Θέλω να κάνω specialize το std::hash για την κλάση μου και στο definition μου βγάζει ότι το EndPoint.Data είναι inaccessible.

 

Header

 

  Εμφάνιση κρυμμένου περιεχομένου

 

 

Τσι Πι Πι

 

  Εμφάνιση κρυμμένου περιεχομένου

 

Επεξ/σία από Kercyn
Δημοσ.

??

Το δοκίμασα με αυτή τη μέην και δουλεύει

#include <iostream>
#include "PEndPoint.hpp"

using namespace std;

int main(int argc, char const *argv[]) {
  /* code */
  PEndPoint p;
  
  hash<PEndPoint> h;
  
  cout << h(p) << endl;
  
  return 0;
}

Με

 

Apple LLVM version 7.3.0 (clang-703.0.29)

Target: x86_64-apple-darwin15.4.0

Thread model: posix

  • Moderators
Δημοσ.

Αυτά τα Endpoints τα βάζω σε unordered set, και απ' ό,τι φαίνεται έπρεπε να υπάρχει και ο operator==. Τώρα που έβαλα και τον operator== δούλεψε. Ενώ είχα υπ' όψην μου να τον βάλω, είπα να κάνω πρώτα το specialization και να αφήσω τον operator για μετά, αλλά απ' ό,τι φαίνεται ήθελε να υπάρχουν και τα δύο μαζί.

 

Ευχαριστώ που το ήλεγξες κι εσύ.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...