我有一个给我的库,我应该将其中的一个子类化struct
以在我自己的应用程序中使用。当我这样做时,它工作正常。但是,当我将子类定义更改为class
而不是 struct 时(并且我确保public:
在里面的所有内容之前),编译器(Visual Studio 编译器 10)给了我这个奇怪的错误:
typecast: conversion exists but is inaccessible
发生此错误的行如下所示:
LibraryNameSpace::Client c(config_options, &mySublassObject);
我不明白为什么从struct
到的简单更改class
会产生此错误;任何编译器添加的默认构造函数都适用于struct
or class
,包括转换构造函数(如果这是这里的问题)。
是不是因为class
从struct
基类创建子类不是一个好主意?