boost::lexical_cast を使用して、ユーザー定義型を整数に変換しようとしています。ただし、例外があります。私は何が欠けていますか??
class Employee {
private:
string name;
int empID;
public:
Employee() : name(""), empID(-1)
{ }
friend ostream& operator << (ostream& os, const Employee& e) {
os << e.empID << endl;
return os;
}
/*
operator int() {
return empID;
}*/
};
int main() {
Employee e1("Rajat", 148);
int eIDInteger = boost::lexical_cast<int>(e1); // I am expecting 148 here.
return 0;
}
いつでも変換演算子を使用できることはわかっていますが、なぜレキシカル キャストがここで機能しないのか疑問に思っています。