c++ Aufruf Konstruktor in einem anderen Konstruktor der gleichen Klasse

Bin ich mit dem MinGW-w64 mit 4.8.1 (mit -std=c++11) und der Versuch zu nennen, einen Konstruktor meiner Klasse in einen anderen Konstruktor der gleichen Klasse. Leider habe ich nicht kompilieren, den folgenden code ein.

A::A(const char *pc) {
  A(string(pc));
}

A::A(string s) {
  vector<string> tmpVector;
  tmpVector.push_back(s);
  A(tmpVector);
}

//Constructor
A::A(vector<string> filePathVector) {
}

Unten ist der Fehler, der GCC beschwert sich über.

In file included from ../parser/nsn/parser.h:37:0,
             from main.cpp:2:
../parser/nsn/parserimp.h: In constructor 'A::A(std::string)':
../parser/nsn/parserimp.h:522:29: error: conflicting declaration 'A  tmpVector'
  A(tmpVector);
                         ^
 ../parser/nsn/parserimp.h:520:17: error: 'tmpVector' has a previous declaration as   'std::vector<std::basic_string<char> > tmpVector'
  vector<string> tmpVector;

Hab ich überlesen Delegierten Konstruktor-Konzept in C++11, aber ich bin nicht sicher, ob dies ist, was ich bin nach....

InformationsquelleAutor fnisi | 2014-06-11
Schreibe einen Kommentar