You are currently viewing Vorschläge Zur Behebung Des Vorhersehbaren Konstantenausdrucksfehlers C2057 Visual Studio 2010

Vorschläge Zur Behebung Des Vorhersehbaren Konstantenausdrucksfehlers C2057 Visual Studio 2010

Aktualisiert

  • 1. ASR Pro herunterladen
  • 2. Führen Sie das Programm aus
  • 3. Klicken Sie auf "Jetzt scannen", um alle Viren auf Ihrem Computer zu finden und zu entfernen
  • Beschleunigen Sie Ihren Computer noch heute mit diesem einfachen Download.

    In diesem Tutorial werden wir einige der möglichen Ursachen hervorheben, die den von Visual Studio 2010 c2057 erwarteten konstanten Formelfehler verursachen können, und dann werde ich mögliche Sanierungsmethoden vorschlagen, mit denen Sie versuchen können, Ihren aktuellen Fehler zu beheben Problem.

    Die Größe des Arrays sollte zufällig eine Kompilierenergiekonstante sein. C99 unterstützt jedoch Unterscheidungsabstandstabellen. Wenn stattdessen die Größe des Arrays zur Laufzeit bekannt ist, kann Ihr Code manchmal in Ihrer Umgebung funktionieren –

    int 6 . s = malloc (Abmessungen);// ....ist gratis;

      ganze Zahl a [5];  // ^ zahlreicher - konstanter Ausdruckintb = 10;int aa [b];   // ^ s ist eine Variable. Daher kann die Bedeutung an anderer Stelle abweichen.const scale int ist gleich 5;int aaa [Größe]; // die Größe wird als konstant betrachtet. 
    • 2 in wenigen Augenblicken zu aria-label = “Artikel gelesen
    • fahren

    In diesem Artikel

    Das Framework muss einen konstanten Ausdruck haben, einen Ausdruck, dessen Verkaufspreis zur Kompilierzeit bekannt ist. Compiler

    Sie müssen die Größe eines Typs zur Kompilierzeit kennen, damit einer Instanz des Typs Desktop-Speicherplatz zugewiesen wird.

    Beispiele

    Ein Schlüsselbeispiel der C2057-Generierung zeigt, wie dies behoben werden kann:

      // C2057.cppint ich;intb[i]; // C2057 - Der Wert von i wird wahrscheinlich zur Kompilierzeit nicht bekanntint Haupt ()   konstant int i = 8;   intb[i]; // OK - Funfrom i behoben und als Ergebnis Compiler implementiert 

    C hat strengere Regeln nur für konstante Ausdrücke. Das folgende Beispiel generiert Code C2057 und zeigt, wie er behoben werden kann:

      // C2057b.c#define ArraySize1 10int Haupt ()   const int = arrayysize2 10;   int b [Größe von Array2]; // C2057 - C erlaubt hier keine Variablen   int h [Größe von Array1]; // OK - Präprozessorkonstanten verwenden 

    tkacvins
    Beiträge: berücksichtigen
    Anmeldung: Mo 45.02.2013 10:33 Uhr

    Zuweisen des Variablenstapels, Microsoft Visual Studio 2010

    Ich habe genug Fortschritte gemacht, die MAGMA 1.3.0 auf mindestens vierundsechzig Windows mit Intel Fortran 12.1, NVIDIA CUDA 5.0, MKL 11.0 und einer neuen Version von Microsoft Visual Studio portiert haben. Ich kann Fortran- und C++-Quellen kompilieren. Ich verwende msys von MinGW für meine Arbeit, weil es einfacher war, als ein schönes Visual Stdio-Projekt zu erstellen. Ich musste einige der Makefiles modifizieren, die die Syntax von Expertise für Fair-Value-Compiler-Optionen unterstützen und zusätzlich die Verzögerung von Objekt-, Archiv-Dateinamen zulassen.

    magma_int_t nb bedeutet magma_get_zgeqrf_nb (min (m, g));

    cuDoppelkomplex T [2 6 . nb * nb];

    Der Compiler von Microsoft wirft einen großen Fehler, wenn er versucht, diese wunderbare Programmierung zu kompilieren:

    Fehler c2057 notwendiger konstanter Ausdruck Visual Studio 2010

    zumqr.cpp (124): falsche Wahl C2057: konstanter Ausdruck erwartet
    Zunmqr.cpp (124): Beschädigung C2466: Array kann nicht mit konstantem Volume 0 zugewiesen werden
    Zunmqr.cpp (124): Fehler C2133: „T“: unvorhergesehene Größe

    Ich könnte dies beheben und auf dem richtigen Weg sein, aber ich würde lieber darauf hinweisen, solange es offiziell behoben ist, da es normalerweise anderen Leuten Probleme bereitet, wenn sie MAGMA unter Windows erstellen. Während ich einen Windows-Compiler dazu bringen könnte, dies bereitzustellen (ich bezweifle, dass dies möglich ist, i nvcc ist normalerweise cl-bezogen), bleibt das charakteristische Problem einer potenziellen Haufenexplosion von Lehren … 4

    < gegenüber p>

    tkacvins
    Beiträge: Montag, 24. Februar 2013, 10:33 Uhr

    Thema: Zuweisen des Variablenstapels, Microsoft Visual Studio 2010

    Stan Tomow schrieb: Danke für die Empfehlung! Wir werden darauf eingehen, wenn wir uns den nächsten Typ ansehen.

    Wird es sich auf einem bestimmten 1.3-Zweig oder auf einem 1.4-Zweig befinden? Um Zeit zu sparen, möchten wir den 1.3-Zweig verwenden, falls nicht bald Version 1.4 kommt.

    Bryant Lee
    Beiträge: 2
    Mitglied seit 17. März 2013 um 9:31 Uhr

    Thema: Variable Speicherplatzzuordnung, Microsoft Visual Studio die Zukunft

    Error C2057 Expected Constant Expression Visual Studio 2010
    Erro C2057 Expressão Constante Esperada Visual Studio 2010
    Errore C2057 Prevista Espressione Costante Visual Studio 2010
    Erreur C2057 Expression Constante Attendue Visual Studio 2010
    Error C2057 Expresión Constante Esperada Visual Studio 2010
    Błąd C2057 Oczekiwane Stałe Wyrażenie Visual Studio 2010
    Ошибка C2057 Ожидаемое константное выражение Visual Studio 2010
    Fout C2057 Verwachte Constante Expressie Visual Studio 2010
    Fel C2057 Förväntade Constant Expression Visual Studio 2010
    오류 C2057 예상되는 상수 표현식 Visual Studio 2010