Konvertieren von int nach enum

Ich habe die folgende Aufzählung erklärt:

  enum periods {one, five, ten, fifteen, thirty};

und jetzt möchte ich es als Befehlszeilenargument in meiner Hauptfunktion übergeben.

int main(int argc, char* argv[]) {

  periods mp;
  if (argc == 2) {
      std::string min_prd(argv[2]);
      mp=atoi(min_prd.c_str());
 }

und der Compiler beschwert sich:

error: invalid conversion from ‘int’ to ‘periods’

Ich habe atoi () gemacht, weil ich angenommen habe, dass enum ein int ist. Wie kann ich meinen Code reparieren?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage