Hast du die Implementierung von compareDates vielleicht in einer Headerdatei?

...zur Antwort

Alternativ zum Ausliefern der DLLs kannst du gegen die statische statt gegen die dynamische Runtime linken (in de Projekteigenschaften unter C/C++ -> Codegenerierung)

...zur Antwort

Wieso brauchst du überhaupt Lese- und Schreibzugriff von außerhalb für jede Variable? Ich versuche Getter und Setter immer zu vermeiden und packe mehr Logik in die Klasse, statt sie als reinen Datenspeicher zu verwenden. Sonst kannst du ja gleich jede Variable public machen und evtl. zusätzlich atomic, falls du mehrere Threads synchronisieren musst.

...zur Antwort

Erstens ist bei der Definition der Funktion classMenu ein Semikolon zu viel.

Zweitens hast du eine Endlisschleife: du holst dir nur einmal eine Benutzereingabe mit cin, fragst die aber in einer Schleife ab.

...zur Antwort

Ja, das Stichwort heißt Serialisierung. Eine Bibliothek dafür ist z.B. Boost.Serialization. Leider darf ich hier wohl keinen Link schreiben, aber google einfach danach, die (sehr gute) Dokumentation dazu sollte der erste Treffer sein.

Das Ergebnis kannst du dann in eine Datei schreiben, beim nächsten Programmstart von dort wieder laden und deserialisieren.

...zur Antwort

Was verwendest du für einen Compiler und in welcher Header-Datei tritt der Fehler auf?

...zur Antwort
C++ "Warten"-Befehl, Warten bis nächster Befehl abgearbeitet wird

Hallo zusammen,

ich suche jetzt schon seit Stunden nach einem für mich passenden Befehl. Ich möchte innnerhalb einer if-Abfrage einen Befehl einfügen, der NUR den folgenden Befehl innerhalb der if-Abfrage warten lässt (für ca eine Sekunde oder weniger) und dann weitermacht. Ich möchte nicht, dass das ganze Programm angehalten wird (wie z.B. mit Sleep()).

Hier mal ein Auszug aus meinem Code, dann wird vielleicht klarer was ich suche:

if(laser_on_puls==true)
{
    laser_on[0]=true;
        WARTEN
    laser_on[1]=true;
        WARTEN
    laser_on[0]=false;
        WARTEN
    laser_on[2]=true;
        WARTEN
    laser_on[1]=false;
        WARTEN
    laser_on[3]=true;
        WARTEN
    laser_on[2]=false;
        WARTEN
    laser_on[4]=true;
        WARTEN
    laser_on[3]=false;
        WARTEN
    laser_on[5]=true;
        WARTEN
    laser_on[4]=false;
        WARTEN
    laser_on[6]=true;
        WARTEN
    laser_on[5]=false;
        WARTEN
    laser_on[7]=true;
        WARTEN
    laser_on[6]=false;
        WARTEN
    laser_on[8]=true;
        WARTEN
    laser_on[7]=false;
        WARTEN
    laser_on[9]=true;
        WARTEN
    laser_on[8]=false;
        WARTEN
    laser_on[9]=false;
}

Falls sich jemand fragt, was genau ich da egtl. machen will: Ich versuche in "Orbiter 2010" einen TIE-Fighter nachzubauen. Hier möchte ich die Laser-Waffen mit "Thrustern" (sprich Düsen) simulieren. Ich habe mehrere Düsen positioniert und möchte diese so an und ausschalten, dass es aussieht als würden sich die Laserstrahlen fortbewegen. Deshalb möchte ich immer ein "Laser-Paar" anschalten (true), kurz warten, ein anderes dazuschalten, dann das vorherige abschalten usw.

Falls irgendjemand einen passenden Befehl kennt, der mit nicht das ganze Programm einfriert, wäre mir wirklich SEHR geholfen. Mit Systemzeit abfragen und leeren while- und for-Schleifen hab ich es schon versucht, nur hängt sich dann Orbiter auf. Vielleicht mach ich da auch irgendwas falsch. Ich bin für jeglichen Vorschlag offen.

Danke schon mal!!

Gruß

...zum Beitrag

Kennst du die Bibliothek Asio? Die bietet einen deadline_timer, den du alle paar Sekunden in einem anderen Thread feuern lassen und ihn auch abbrechen kannst: http://think-async.com/Asio/asio-1.10.2/doc/asio/overview/timers.html

...zur Antwort

Die Benutzereingabe und ihre Verarbeitung sollen wohl in einer Schleife sein, die fehlt.

...zur Antwort

Wenn du das zu deinen Beruf machen willst, sind Java, C++ und C# sehr gefragt, wobei C# fast nur unter Windows oder für Websites verwendet wird.

C++ ist etwas anspruchsvoller als Java, weil man sich z.B. selbst um die Speicherverwaltung kümmern muss. Dafür wirkt Java gegenüber modernem C++ etwas kastriert.

Wenn du C++ lernst, schau unbedingt, dass es sich dabei auch um den seit März hoffentlich abgeschlossenen Standard C++14 oder zumindest C++11 handelt. Die Sprache hat sich extrem weiterentwickelt und durch die neuen Features lassen sich viele häufige Programmierfehler, die gern als Kritikpunkte von C++ angeführt werden, von vornherein vermeiden.

...zur Antwort

Abgesehen davon, dass das eher nach C als C++ aussieht, stehen im letzten "else if" Zuweisungs- (=) statt Vergleichsoperatoren (==).

Und in der Zeile (toleranz != 'f' && != 'm' && !='c' & !='v') fehlen ein paar "toleranz" und das & sollte wohl && sein.

Ansonsten sieht das doch gut aus.

...zur Antwort

Es lohnt sich glaube ich schon, gleich C++11 bzw. C++14 zu lernen. Die Sprache ist deutlich sicherer geworden, durch die neuen Features wie unique_ptr, in-class initialization und explicit conversion operators lassen sich viele häufige Programmierfehler und unerwartetes Verhalten von vornherein vermeiden. Außerdem spart man viel nervige Tipparbeit, z.B. durch Lambdas und die neuen Funktionen der Standardbibliothek.

Das einzige Problem ist, dass viele Unternehmen noch C++03-Compiler einsetzen. Bis du mit dem Studium fertig bist, wird sich das aber hoffentlich geändert haben.

...zur Antwort

Meinst du die hier?http://sourceforge.net/projects/boost/files/boost-binaries/1.55.0-build2/

...zur Antwort

Da du anscheinend deinen Zeichensatz auf Unicode konfiguriert hast, musst du L"FENSTER" schreiben statt "FENSTER".

...zur Antwort

Kommt drauf an, als was du arbeiten willst. Als Softwareentwickler in einem Unternehmen würde ich dir zu einer dualen Ausbildung raten. Ich selbst habe ein duales Studium gemacht und bin sehr froh, dass ich schon viel Praxiserfahrung sammeln konnte.

...zur Antwort

CCIE ist die höchste Zertifizierung von Cisco. Man kann sich, wie bei den niedrigeren Zertifizierungen CCNA und CCNP auch, unter anderem auf Routing&Switching, Netzwerksicherheit oder VoIP spezialisieren. Es gibt allerdings nach den letzten Zahlen von 2010 nur ca. 20.000 CCIEs weltweit und die nächste Möglichkeit für die praktische Prüfung, die du nach der schriftlichen ablegen musst, ist in Brüssel. Wenn du dich für Netzwerktechnik interessierst, steigst du am besten mit dem CCNA ein, das ist der erste Schritt und die Grundvoraussetzung zum CCIE.

...zur Antwort

Wenn du dich nicht auf bestimmte Software festgelegt hast, die du einsetzen willst, oder abgefahrene Hardware oder ein Fake RAID hast, ist OpenBSD genial. Die Softwareunterstützung ist ziemlich schlecht, dafür die Sicherheit dafür sehr gut: http://www.openBSD.com/

...zur Antwort

Was meinst du denn mit "alles programmieren können"? Turing-vollständig sind alle gängigen Programmiersprachen, also Beschränkungen liegen normalerweise nicht an der Programmiersprache selbst, sondern eher an der Schnittstelle zum Betriebssystem.

In der Praxis wirst du wohl mit C++ am meisten anfangen können, das gibt's auch für so ziemlich jedes gängige Betriebssystem.

Wenn du Assembler benutzt, kannst du damit alles machen, was deine Hardware auch kann - aber die Befehle sind je nach verwendeter Hardware etwas unterschiedlich.

...zur Antwort

Hast du deine Auslagerungsdatei auf C:? Die kannst du auf eine andere Partition verschieben, unter System -> Erweitert -> Systemleistung -> Erweitert. Bei mir sind das fast 10 GB.

...zur Antwort