VC8: Wieso kommen da immer Fehler?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • VC8: Wieso kommen da immer Fehler?

    Hi,

    ich hätte ma da ne Frage zu Visual Studio 8. Ich bin vor kurzem von VC 6 zu VC 8 umgestiegen. Nu find ich aber keine MFC Sachen sondern nur "Windows Forms-Anwendung". Ich denke mal das is annähernd dasgleiche.

    Aber irgendwie geht es nicht so wie ich will.

    Ich habs schon geschafft <iostream> und <fstream> zu includieren und natürlich using namespace std;

    Quellcode

    1. /* includes */
    2. #include "stdafx.h"
    3. #include "Form1.h"
    4. #include <iostream>
    5. #include <fstream>
    6. /* namespaces */
    7. using namespace std;
    8. [...]


    jetzte hab ich einfach mal einen button eingefügt und ihm "becodet". so:

    Quellcode

    1. ofstream out("witz.txt");
    2. out << "nicht lachen!";


    wie erwartet gehts nich.


    1>c:\dokumente und einstellungen\#.o.#\eigene dateien\visual studio 2005\projects\bf2freeedit\bf2freeedit\Form1.h(114) : error C2065: 'ofstream': nichtdeklarierter Bezeichner
    1>c:\dokumente und einstellungen\#.o.#\eigene dateien\visual studio 2005\projects\bf2freeedit\bf2freeedit\Form1.h(114) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'out'
    1>c:\dokumente und einstellungen\#.o.#\eigene dateien\visual studio 2005\projects\bf2freeedit\bf2freeedit\Form1.h(114) : error C3861: "out": Bezeichner wurde nicht gefunden.


    und das trotz using namespace...

    weiß jemand wieso das so ist?
  • Quellcode

    1. #include <iostream>
    2. #include <fstream>
    3. using namespace std;
    4. int main()
    5. {
    6. ofstream out("witz.txt");
    7. out << "nicht lachen!";
    8. }


    geht bei mir (VC2k5EE) versuch das mal bei dir. Sonst liegt der Fehler wo anders, dann musst du aber ein bisschen mehr Informationen geben

    //EDIT:

    Kann es sein, dass

    Quellcode

    1. ofstream out("witz.txt");
    2. out << "nicht lachen!";
    in der Forms.h steht? Dann müsstest du wenigstens Forms.h _nach_ den std-Headern inkludieren oder besser die includes in den Forms.h schreiben
    There are only 10 types of people in the world: Those who understand binary, and those who don't.

    Download meines ersten Spiels:HIER
    Über Feedback würde ich mich freuen ;)
  • Ich hab die selbe Version wie du! Sehr praktisch.

    Also es gibt eine Datei Form1.h <- Da hab ich jetzte mal unter

    Quellcode

    1. #pragma once
    das hier geschrieben:

    Quellcode

    1. using namespace std;
    wie ich die standart klasse/namespace "std" includiere weiß ich nicht, mit #include <std>,<stdlib>,<clib> gings nich nur mit <cstdlib>. Jetzte kommt aber der Fehlerbericht:
    1>c:\dokumente und einstellungen\#.o.#\eigene dateien\visual studio 2005\projects\wfatst\wfatst\Form1.h(84) : error C2065: 'ofstream': nichtdeklarierter Bezeichner
    1>c:\dokumente und einstellungen\#.o.#\eigene dateien\visual studio 2005\projects\wfatst\wfatst\Form1.h(84) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'out'
    1>c:\dokumente und einstellungen\#.o.#\eigene dateien\visual studio 2005\projects\wfatst\wfatst\Form1.h(84) : error C3861: "out": Bezeichner wurde nicht gefunden.
    1>wfatst - 4 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


    mein Form1.h Code sieht dann so aus:

    Quellcode

    1. #pragma once
    2. #include <cstdlib>
    3. using namespace std;
    4. namespace wfatst {
    5. /// <summary>
    6. /// Zusammenfassung für Form1
    7. ///
    8. /// Warnung: Wenn Sie den Namen dieser Klasse ändern, müssen Sie auch
    9. /// die Ressourcendateiname-Eigenschaft für das Tool zur Kompilierung verwalteter Ressourcen ändern,
    10. /// das allen RESX-Dateien zugewiesen ist, von denen diese Klasse abhängt.
    11. /// Anderenfalls können die Designer nicht korrekt mit den lokalisierten Ressourcen
    12. /// arbeiten, die diesem Formular zugewiesen sind.
    13. /// </summary>
    14. public ref class Form1 : public System::Windows::Forms::Form
    15. {
    16. public:
    17. Form1(void)
    18. {
    19. InitializeComponent();
    20. //
    21. //TODO: Konstruktorcode hier hinzufügen.
    22. //
    23. }
    24. protected:
    25. /// <summary>
    26. /// Verwendete Ressourcen bereinigen.
    27. /// </summary>
    28. ~Form1()
    29. {
    30. if (components)
    31. {
    32. delete components;
    33. }
    34. }
    35. private: System::Windows::Forms::Button^ btn;
    36. protected:
    37. protected:
    38. private:
    39. /// <summary>
    40. /// Erforderliche Designervariable.
    41. /// </summary>
    42. System::ComponentModel::Container ^components;
    43. #pragma region Windows Form Designer generated code
    44. /// <summary>
    45. /// Erforderliche Methode für die Designerunterstützung.
    46. /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
    47. /// </summary>
    48. void InitializeComponent(void)
    49. {
    50. this->btn = (gcnew System::Windows::Forms::Button());
    51. this->SuspendLayout();
    52. //
    53. // btn
    54. //
    55. this->btn->Location = System::Drawing::Point(17, 16);
    56. this->btn->Name = L"btn";
    57. this->btn->Size = System::Drawing::Size(75, 23);
    58. this->btn->TabIndex = 0;
    59. this->btn->Text = L"Click";
    60. this->btn->UseVisualStyleBackColor = true;
    61. this->btn->Click += gcnew System::EventHandler(this, &Form1::btn_Click);
    62. //
    63. // Form1
    64. //
    65. this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
    66. this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
    67. this->ClientSize = System::Drawing::Size(115, 51);
    68. this->Controls->Add(this->btn);
    69. this->Name = L"Form1";
    70. this->Text = L"Form1";
    71. this->ResumeLayout(false);
    72. }
    73. #pragma endregion
    74. private: System::Void btn_Click(System::Object^ sender, System::EventArgs^ e) {
    75. ofstream out("bla.txt");
    76. out << "blub";
    77. }
    78. };
    79. }
    Alles anzeigen


    ach...in c++ 6.0 war das immer so einfach...