【发布时间】:2012-03-19 23:35:57
【问题描述】:
我收到编译错误
“请求从'int*'转换为非标量类型'foo
我做错了什么?
template <typename T>
struct foo {
T *ptr;
foo(void){}
foo<T>& operator =(const T &point) {
if (ptr != &point) {
ptr = &point;
}
return *this;
}
T& operator*() {
return *ptr;
}
}
int main(){
int x;
foo<int> f = &x; //error here
*f = 0;
printf("%d\n", *f)
}
【问题讨论】:
-
@KerrekSB 以缩进开头
-
抱歉打字失败,纠正使用不一致的ptr错误。
标签: c++ templates overloading operator-keyword