我正在尝试制作一个小包装类,例如
template <typename T>
class EdgeTriggeredState
{
public:
void Tick()
{
oldData = newData;
}
EdgeTriggeredState& operator =(const T& v)
{
newData = v;
return *this;
}
// T& operator = (void)
// {
// return oldData;
// }
// T& operator T()
// {
// return oldData;
// }
private:
T oldData;
T newData;
};
基本上我希望能够直接将由类包装的值分配给 T 类型的变量。我已经尝试实现一个赋值(类型 T)运算符和一个类型 T 的强制转换运算符。我对我的 C++ 有点生疏,因为我一直只在 C 中工作。有没有办法在不创建的情况下实现它命名getter方法?
当我取消注释第一次实施尝试时,我收到错误
“../EdgeTriggeredState.h:19:21: 错误:'T& EdgeTriggeredState::operator=()' 必须只采用一个参数”
当我取消注释第二个实现(并注释掉第一个)时,我收到错误:
“../EdgeTriggeredState.h:24:16:错误:为‘operator T’指定的返回类型”