Вы использовали protected
наследование. Проблема не в том, что производный не может получить доступ к защищенным методам базы, но проблема в том, что вы не можете получить доступ к базовым методам извне derived
.
Если вы не знаете, что означает защищенное наследование, вы можете прочитать, например, здесь Разница между частным, публичным и защищенным наследованием
Я сомневаюсь, что вы хотели использовать protected
наследство здесь (с чего бы вы?). Измените его на public
наследование, и ваш код должен быть в порядке:
class derived : public base ...
PS: в сообщении об ошибке должно было быть указано, что является реальной проблемой (хотя и загадочно). Пожалуйста, в следующий раз включите его в вопрос. Если вы не можете этого понять, вероятно, другие поймут.