मैं एक वेक्टर को सॉर्ट करने की कोशिश कर रहा हूं जिसमें एक int और स्ट्रिंग है प्रत्येक तत्व में। यह वेक्टर व्यंजनों नामक कक्षा प्रकार का एक वेक्टर है। उपरोक्त त्रुटि हो रही है, यहाँ मेरी कोड है:त्रुटि C2678: बाइनरी '=': कोई ऑपरेटर नहीं मिला जो 'कॉन्स्ट रेसिपी' (या कोई स्वीकार्य रूपांतरण नहीं है) का बाएं हाथ का ऑपरेशन लेता है
struct Recipe {
public:
string get_cname() const
{
return chef_name;
}
private:
int recipe_id;
string chef_name;
मेरी Menu.cpp में दाखिल
void Menu::show() const {
sort(recipes.begin(), recipes.end(), Sort_by_cname());
}
मेरी Menu.h में दाखिल
मेरी Recipe.h फ़ाइल में
#include <vector>
#include "Recipe.h"
using namespace std;
struct Sort_by_cname
{
bool operator()(const Recipe& a, const Recipe& b)
{
return a.get_cname() < b.get_cname();
}
};
class Menu {
public:
void show() const;
private
vector<Recipe> recipes;
};
मैं क्या गलत कर रहा हूँ?
हमें लाइन जिस पर आप कि त्रुटि मिलती दिखाएँ ... –
क्या आप वाकई स्ट्रिंग मान और नहीं नुस्खा आईडी पर सॉर्ट करने के लिए चाहते हैं? –
मैंने एक [टैग: सी ++] टैग जोड़ा; यह इस सवाल को अधिक ध्यान देना चाहिए। –