Initialize array von char in der Initialisierungsliste des Konstruktors in C++

Ist es in Ordnung Initialisierung so?

class Foo
{
public:
   Foo() : str("str") {}
   char str[4];
};

Und?

int main()
{
   char str[4]("str");
}

Beide geben mir einen Fehler in gcc 4.7.2:

Fehler: array als Initialisierer

Comeau kompiliert beide.

clang kompiliert auch, beides in C++03-Modus.

InformationsquelleAutor FrozenHeart | 2012-11-03

Schreibe einen Kommentar