GNU/Linux >> Linux Esercitazione >  >> Linux

identificatore previsto prima della stringa costante

C'è un altro modo più semplificato per fare quello che vuoi:basta cambiare la tua affermazione da test tst_("Hi"); a test tst_{"Hi"}; e funzionerà. Di seguito è riportato il codice modificato e funziona come previsto.

#include <iostream>
#include <string>
using namespace std;
class test
{
public:
    test(std::string s):str(s){cout<<"str is: "<<s;}
private:
    std::string str;
};

class test1
{
public:
    test tst_{"Hi"};
};

int main()
{   test1 obj;
    return 0;
}

Nota che ho appena cambiato test tst_("Hi"); a test tst_{"Hi"}; e tutto il resto è esattamente lo stesso. Solo per confermare che funziona, ho aggiunto un cout per verificare che inizializzi correttamente la variabile str. Penso che questa soluzione di una linea sia più elegante (almeno per me) e aggiornata con il nuovo standard.


Non puoi inizializzare tst_ dove lo dichiari. Questo può essere fatto solo per static const tipi primitivi. Dovrai invece avere un costruttore per class test1 .

EDIT:di seguito, vedrai un esempio funzionante che ho fatto in ideone.com. Nota alcune modifiche che ho apportato. Primo, è meglio avere il costruttore di test prendi un const riferimento a string per evitare di copiare. Secondo, se il programma ha successo dovresti return 0 non 1 (con return 1 ottieni un errore di runtime in ideone).

#include <iostream>
#include <string>
using namespace std;
class test
{
public:
    test(const std::string& s):str(s){};
private:
    std::string str;
};
 
class test1
{
public:
    test1() : tst_("Hi") {}
    test tst_;
};
 
int main()
{
    return 0;
}

Linux
  1. Verifica della shell se la stringa di più righe contiene il modello specificato nell'ultima riga?

  2. Prova la ricerca ricorsiva di Sed e sostituisci prima di correre?

  3. C'è un modo semplice per testare Ubuntu su nuovi notebook prima di acquistarlo?

  4. in_addr_t alla stringa

  5. 'inet_pton':identificatore non trovato

Semplice test di posta PHP

Bash concatena le stringhe

Sostituzione di String in Bash

Bash Scripting – Manipolazione di stringhe

Come trovare e sostituire testo, parola o stringa in un file

Verifica se la stringa ha caratteri non spazi bianchi in Bash