检查是否可以将一个类分配给另一个类的最常用方法 在C++中,给出两个类, a >代码> b>代码>,检查表达式“< /p>”的最一般方式是什么? my_a = my_b;
会有意义吗?我曾考虑过使用检查是否可以将一个类分配给另一个类的最常用方法 在C++中,给出两个类, a >代码> b>代码>,检查表达式“< /p>”的最一般方式是什么? my_a = my_b;,c++,casting,variable-assignment,assign,C++,Casting,Variable Assignment,Assign,会有意义吗?我曾考虑过使用是可转换的,但这并没有检测到强制转换操作符。也许它只适用于基本类型?如果出现以下情况,我希望我的测试结果为true: a和b是相同的 b可以转换为a a具有接受b项的赋值运算符 等等。有什么办法可以完成这样的事情吗?参见: boolx=std::is_assignable::value; 您可以检查是否可构造,这包括强制转换。@MatteoMonti这是因为您的转换运算符是私有的。 bool x = std::is_assignable<decltype(my
是可转换的
,但这并没有检测到强制转换操作符。也许它只适用于基本类型?如果出现以下情况,我希望我的测试结果为true
:
和a
是相同的b
可以转换为b
a
具有接受a
项的赋值运算符b
boolx=std::is_assignable::value;
您可以检查是否可构造,这包括强制转换。@MatteoMonti这是因为您的转换运算符是私有的。
bool x = std::is_assignable<decltype(my_a), decltype(my_b)>::value;