9 Stimmen

Warum ist string string erlaubt und int int wird vom Compiler nicht zugelassen?

Ich versuche gerade zu überprüfen, ob der Compiler Typnamen als Variablennamen zulässt. Als ich versuchte

int int;

Es meldete einen Fehler und sagte

Fehler C2632: 'int' gefolgt von 'int' ist illegal

Aber als ich versuchte

#include <string>
using namespace std;

int main()
{
    string string;
}

Es gab keine Fehlermeldung. Beide string y int sind Datentypen.

Warum erlaubt der Compiler string und erlaubt nicht int ?

EDIT: enthält aktualisiert.

EDIT: Einige Leute sind der Meinung, dass int keine Klasse ist. In diesem Fall, warum unten stehende Zeile erlaubt ist.

int a(10);

funktioniert er ähnlich wie der Konstruktor einer Klasse.

0voto

Puppy Punkte 141483

Der Compiler erlaubt es primitiven Typen, sich für die Zwecke von Vorlagen wie Klassen zu verhalten - wenn man sich für Primitive überall spezialisieren müsste, wäre das ein Alptraum.

0voto

user434966 Punkte 33

Versuchen Sie zu entfernen

#include <string>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X