首先,请注意我正在使用C ++ 03(并且C ++ 11不是一个选项)。我正在使用boost概念来检查某个类是否是默认构造的:
BOOST_CONCEPT_ASSERT((boost::DefaultConstructible<my_class>));
但是,对于其他一些类,我想断言不的类型有默认构造函数。有没有办法做到这一点?
更新:给所有超级专家,将问题标记为重复或已经回答而不阅读:我在第一段中说明我已经使用boost概念检查类是否为默认值 - 可构造的(这个问题应该是重复的)。我还明确声明我不能使用C ++ 11,因此我无法使用type_traits
。那么,有人可以指点我我的问题“已经回答”的具体部分吗?因为我还没有找到它。
答案 0 :(得分:2)
令人失望的是,不,这不可能通过提升概念检查。
不是那么令人失望的一点是:你不是试图向后使用这个工具吗?
通常,您编写的代码需要具有一定数量功能的类型,例如构造函数,对该类型进行操作的函数,等等。 我无法想象你会编写需要缺少特定功能的类型的代码。
你似乎不想做面向概念的编程,而是强制执行编码风格。 这不是适合它的工具。