You are not logged in.

  • Login

1

Friday, April 6th 2007, 6:15pm

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;

C Quellcode

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


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

C Quellcode

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


wie erwartet gehts nich.

Quoted


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?

2

Friday, April 6th 2007, 10:58pm

C Quellcode

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


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

C Quellcode

1
2
ofstream out("witz.txt");
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

3

Saturday, April 7th 2007, 7:54am

Ich hab die selbe Version wie du! Sehr praktisch.

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

C Quellcode

1
#pragma once
das hier geschrieben:

C 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:

Quoted

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:

C Quellcode

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


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

Similar threads

Social bookmarks