Я пытался перегрузить операторы =
и []
для использования в классе для присвоения индексации значения: Например:
#include <iostream>
using namespace std;
template<class T>
class N
{
public:
T value;
void operator=(const T& in){
value=in;
cout<<value<<endl;
}
T operator[](std::string name){
cout<<name<<endl;
return name;
}
};
int main(){
N<std::string> object;
object["hi"]; //Works
object="never"; //Works
object["last try"]="none again"; //Only works []
return 0;
}
Живой код. Кому после использования это так:
N object;
object["var1"] //returns the var value WORKS
object=50; // WORKS but nosense
object["var2"]=35; //modify var2 to 35 DOESN'T WORK
//Only works the [] overload
Но я не могу понять, как сделать, чтобы оба работали одновременно.