Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ ";使用;关键字调用基类构造函数_C++_Using - Fatal编程技术网

C++ ";使用;关键字调用基类构造函数

C++ ";使用;关键字调用基类构造函数,c++,using,C++,Using,我有以下基类 class Grammateas { public: Grammateas(std::string name):_name(name){}; virtual ~Grammateas(){}; private: std::string _name; }; 和下面的派生类 class Boithos final : public Grammateas { public: //using Grammateas::Grammateas; Boithos(int h

我有以下基类

class Grammateas
{
 public:
 Grammateas(std::string name):_name(name){};
  virtual ~Grammateas(){};
 private:
  std::string _name;
};
和下面的派生类

class Boithos final : public Grammateas
{
 public:
  //using Grammateas::Grammateas;
  Boithos(int hours):Grammateas("das"),_hours(hours){};
  virtual ~Boithos(){};
 private:
  int _hours;
};
我想使用基类构造函数来创建这样的对象

   Boithos Giorgakis(5); //works
   Boithos Giorgakis("something"); //Bug
我读到我可以使用using关键字,但当我尝试像

   using Grammateas::Grammateas;
编译器返回一条消息

错误:“Grammateas::Grammateas”名称构造函数


你能帮我理解带构造函数的using关键字吗?

你的代码-带
的using Grammateas::Grammateas未注释-应该可以工作。(但要注意:继承的构造函数将保持未初始化状态。)


使用声明通过
继承构造函数是C++11中的一个新特性。可能您的编译器还不支持此功能,或者在组合继承的构造函数和其他重载时遇到问题。(如果它接受了
final
说明符,那么它似乎首先被正确设置为编译C++11。)

它是用于继承构造函数的…最后我发现这个功能只在GCC4.8上可用。我有GCC(Ubuntu/Linaro 4.7.2-2ubuntu1)4.7.2我发现这个功能只在GCC4.8上可用。我有GCC(Ubuntu/Linaro4.7.2-2ubuntu1)4.7.2。最后一个关键字和-std=c++11没关系