Невозможно преобразовать ‘libraryname :: ZlibCompressor’ в ‘libraryname :: Compressor *’ в назначении (в индекс массива)

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.

Любая идея, почему эта ошибка происходит? Спасибо!

0

Решение

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

Тип options.compressors[0] является Compressor *, который указатель. Вы должны дать указатель.

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

Другие решения


По вопросам рекламы [email protected]