Verwirrende Fehlermeldung (Hinweis)



  • using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace testCon {
    
    class Program {
        static void Main(string[] args) {
            Qstring s2=new Qstring("4567");
    
            Console.WriteLine("Press any key to exit...");
            Console.ReadLine();
        }
    } // class Program
    
    public class Qstring : Object {
        static int DefaultSize=256;
        char[] s;
        int l=0;
        int max=DefaultSize;
    
        public Qstring(string cs) {
            int length=cs.Length;
            max = length > DefaultSize ? 16-length%16+l : DefaultSize;
            s=new char[max];
            cs.CopyTo(0,s,0,length);
        }
    
        puplic override string ToString() {
            string s=new string(s,0,l);
            return s;
        }
    
    } // class Qstring
    } // namespace tesCon
    

    Ergibt folgenden Fehler:

    Fehler 1 Der Membermodifizierer "override" muss dem Membertyp und -namen vorangehen. F:\home\hps\vs2005\projects\test\TestCon2\Program.cs 29 12 TestCon2

    Die Fehlerzeile ist 29.

    Ich habe jetzt fast eine Stunde gesucht, warum es nicht funktioniert, obwohl es genau so aussieht wie auf msdn beschrieben.

    Der Fehler ist das puplic vor dem override (Schreibfehler, muss natürlich public heißen). Hier hätte ich erwartet, dass der Compiler das puplic anmeckert.



  • Hier hätte ich erwartet, dass der Compiler das puplic anmeckert.

    Also meiner macht das, könnte dran liegen dass du VS2005 verwendest (ich hab 2010). Wird halt erst nach dem von dir beschriebenen Fehler angezeigt.

    Im übrigen wird bei mir auch

    string s=new string(s,0,l);
    

    als fehlerhaft angezeigt weil die Variable s schon als Member vorhanden ist - und er im Konstruktor die lokale Variable s verwendet 😕



  • Könnte sein, dass ich das falsch ins Forum übertragen habe. Die Original-Datei habe ich leider nicht mehr. Hatte ich aus dem eigentlichen Projekt mittels copy and paste in die hier veröffentlichte, stark verkürzte Version übernommen - ließ sich aber soweit ich mich erinnere erstellen.


  • Administrator

    johan schrieb:

    Könnte sein, dass ich das falsch ins Forum übertragen habe. Die Original-Datei habe ich leider nicht mehr. Hatte ich aus dem eigentlichen Projekt mittels copy and paste in die hier veröffentlichte, stark verkürzte Version übernommen - ließ sich aber soweit ich mich erinnere erstellen.

    Per Copy&Paste? Dann ist das kein Schreibfehler bei der Übertragung: "puplic"? Das siehst du ja sogar in der Syntaxhervorhebung, dass du das Wort falsch geschrieben hast.

    Grüssli


Log in to reply