满载赋值运算符,修改返回类型

重载赋值运算符,修改返回类型。需要重载运算符,使语句:bool isNonNull array1通过。其中array1是一个cons

重载赋值运算符,修改返回类型。
需要重载运算符,使语句:bool isNonNull = array1;通过。其中array1是一个const的类对象,定义:const ScopedArray<T> array1。ScopedArray的private 变量就一个: T* array。

我打算重载运算符,返回一个bool返回值:

C/C++ code
template<typename T>bool ScopedArray<T>::operator=(const ScopedArray& sSource) {    return (sSource.array != 0);}


同时,还需要规定不允许class间的赋值,所以我将copy构造函数和"="的常规重载声明放在private里:
C/C++ code
private:    T* array;    ScopedArray(const ScopedArray&);    ScopedArray& operator=(const ScopedArray&);


但是报错说不能这样定义。请问需要如何修改啊?

[解决办法]
重载bool()类型转换符而不是赋值运算符