无法在赋值时将'libraryname :: ZlibCompressor'转换为'libraryname :: Compressor *'(到数组索引)

时间:2014-07-26 08:05:01

标签: c++ leveldb

main.cc: In function ‘int main()’:
main.cc:10:26: error: cannot convert ‘libraryname::ZlibCompressor’ to ‘libraryname::Compressor*’ in assignment
   options.compressors[0] = libraryname::ZlibCompressor();

options是一个结构,compressors定义为:

Compressor* compressors[256];

ZlibCompressor是Compressor的子类。

知道为什么会出现这种错误吗?谢谢!

1 个答案:

答案 0 :(得分:1)

options.compressors[0] = libraryname::ZlibCompressor();

options.compressors[0]的类型为Compressor *,即指针。你应该给一个指针。

libraryname::ZlibCompressor zc;
options.compressors[0] = &zc;