我有一個庫給我,我應該在其中的一個struct
繼承我的應用程序。當我這樣做,它工作正常。然而,當我改變我的子類定義class
不是struct(我一定要public:
裏面的一切之前),編譯器(Visual Studio的編譯器10)給我這個奇怪的錯誤:從基類構造子類struct
typecast: conversion exists but is inaccessible
線對發生看起來這個錯誤是這樣的:
LibraryNameSpace::Client c(config_options, &mySublassObject);
我不明白,爲什麼從struct
到class
一個簡單的變化造成此錯誤;任何編譯器添加的默認構造函數將適用於struct
或class
,包括轉換構造函數(如果這是問題)。
難道這是因爲從struct
基類創建class
子類不是一個好主意嗎?
從結構變成子類不應該導致錯誤。也許客戶端構造函數被定義爲顯式? –
@JohnPoison沒有標明明確的,但有一個工作的答案。 – johnbakers