我正在为一个奇怪的错误苦苦挣扎一段时间,我需要你的帮助:D
我有一个像这样声明的“图像”类
template <typename P>
class Image {
// ...
public: // Operators
Color<P>*& operator [] ( unsigned int const& i );
// ...
}
因为这是我第一次重载这个运算符,所以我不太确定(尤其是 *& 部分......)
当我尝试类似的事情时出现了麻烦:
/// Sample Code
Image<P> img; img[0][0] = Color<double>(1.0, 1.0, 1.0);
我明白了
./src/Graphics/PNGWriter.cc:12:3: error: no match for ‘operator[]’ in ‘img[0]’
./src/Graphics/Image.cc:24:12: note: candidate is: Color<P>*& Image<P>::operator[](const unsigned int&) [with P = double] <near match>
显然,对我来说,这个解决方案更加模糊......
任何想法 ?
谢谢 !