【发布时间】:2013-09-16 18:17:42
【问题描述】:
我需要实现如下接口
struct mutex;
struct interface
{
//...
mutex& getMutex();
};
直觉上我可以在我的实现中使用using mutex = ParticularMutex,但 gcc 告诉我不然:
error: conflicting declaration ‘using mutex = ’
error: ‘class mutex’ has a previous declaration as ‘class mutex’
我没有定义两次,只是声明两次,像往常一样向前声明,所以
- 为什么这不起作用?
- 有没有不修改
interface的解决方法? - 应该如何定义
interface?template <typename mutex>?
【问题讨论】:
标签: c++ templates alias using forward-declaration