EXCEL中VBA中的变量:成功的3个关键-记住吧-英雄云拓展知识分享
300
2024-01-22
我有一个使用返回代码的课程:
class MyClass{
// ...
public:
// ValueType get_value() const; // usual code
ErrorCode get_value(ValueType& value) const; // uses error code
// ...

};
因此,这种情况下,第2种情势 get_value()
实际提供值作为函数参数,而不是返回值。
是不是可以推断出功能参数的类型 get_value()
,或许使用 decltype
?
int main(){
// ...
MyClass my_class;
// auto val = my_class.get_value(); // okay: value has correct type
declytype( /* something here */ ) value;
const auto error = my_class.get_value( value );
// ...
}
如果要推断出参数的类型,则可使用模板来履行此操作:
namespace detail{
template<typename>
struct Helper;
template<typename R, typename C, typename T>
struct Helper <R(C::*)(T)>
{
using type = T;
};
}
然后使用它:
detail::Helper<decltype(&MyClass::get_value)>::type value;// ...
const auto error = my_class.get_value(value);
看 相干问题 更多细节。
免责声明:
本网址(www.yingxiongyun.com)发布的材料主要源于独立创作和网友匿名投稿。此处提供的所有信息仅供参考之用。我们致力于提供准确且可信的信息,但不对材料的完整性或真实性作出任何保证。用户应自行验证相关信息的正确性,并对其决策承担全部责任。对于由于信息的错误、不准确或遗漏所造成的任何损失,本网址不承担任何法律责任。本网站所展示的所有内容,如文字、图像、标志、音频、视频、软件和程序等的版权均属于原创作者。如果任何组织或个人认为网站内容可能侵犯其知识产权,或包含不准确之处,请即刻联系我们进行相应处理。
发表评论
暂时没有评论,来抢沙发吧~