#include <iostream>
#include <set>
using namespace std;
class StudentT {
public:
int id;
string name;
public:
StudentT(int _id, string _name) : id(_id), name(_name) {
}
int getId() {
return id;
}
string getName() {
return name;
}
};
inline bool operator< (StudentT s1, StudentT s2) {
return s1.getId() < s2.getId();
}
int main() {
set<StudentT> st;
StudentT s1(0, "Tom");
StudentT s2(1, "Tim");
st.insert(s1);
st.insert(s2);
set<StudentT> :: iterator itr;
for (itr = st.begin(); itr != st.end(); itr++) {
cout << itr->getId() << " " << itr->getName() << endl;
}
return 0;
}
সঙ্গতিপূর্ণভাবে:
cout << itr->getId() << " " << itr->getName() << endl;
এটি একটি ত্রুটি দেয় যে:
../main.cpp:35: ত্রুটি: 'কনট স্টুডেন্টটি'কে' এই স্টুডেন্টটি 'এর' আর্গুমেন্ট হিসাবে পাস করা 'গেটআইডি ()' বাছাইযোগ্য
../main.cpp:35: ত্রুটি: 'স্ট্যান্ড স্ট্রিং স্টুডেন্টটি :: getName ()' কোয়ালিফায়ারকে ছাড়াই 'স্ট্যান্ড স্ট্রিং স্টুডেন্টটি' এর এই যুক্তি হিসাবে 'কনস্টেন্ট স্টুডেন্টটি' পাস করা
এই কোডটিতে কি সমস্যা আছে? ধন্যবাদ!
volatile
