erwartete identifier, string-Konstante vor
Mit einem Programm wie diesem:
#include <iostream>
#include <string>
using namespace std;
class test
{
public:
test(std::string s):str(s){};
private:
std::string str;
};
class test1
{
public:
test tst_("Hi");
};
int main()
{
return 1;
}
...warum bin ich immer Folgendes, wenn ich ausführen
g++ main.cpp
main.cpp:16:12: error: expected identifier before string constant
main.cpp:16:12: error: expected ‘,’ or ‘...’ before string constant
- Sie sollten wirklich lernen, immer kompilieren mit
g++ -Wall -g
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht initialisieren tst_ beginnen, wo Sie es erklären. Dies ist nur für statische const primitive Typen. Stattdessen müssen Sie den Konstruktor für test1.
EDIT: hier ist ein funktionierendes Beispiel in ideone.com. Beachten Sie ein paar änderungen, die ich gemacht habe - zuerst ist es besser, den Konstruktor von test nehmen Sie eine const-Referenz auf string zu vermeiden, kopieren. Zweitens - wenn das Programm gelingt, sollten Sie zurückkehren, 0 nicht 1(mit return 1 erhalten Sie Laufzeitfehler in ideone)