Code von Visual Studio Express 2012 falsch



  • Hallo liebe Community,
    da ich neu bin, stelle ich mich kurz vor:
    Ich bin 17,5 Jahre alt und lebe im wunderschönen Niedersachsen.
    Ich komme aus dem Hobbymäßigen Javabereich und da ich denke, Java mittlerweile recht gut zu beherrschen und ich sowieso C++ für "besser" halte (bitte keine Diskussion darüber 😃 ), habe ich mir ein Buch gekauft und versuche nun C++ zu lernen.

    Im Zuge dessen wollte ich mir ein Fenster erstellen mit dem Visual Editor von VSC++. Dieser Code wurde auch erstellt aber leider zeigt mir der Compiler Fehler im Code an, den ich nicht angefasst habe. Ich hoffe, ihr findet den Fehler. Den Code würde ich gerne posten, ich verstehe aber die Tags nicht :D.

    LG Atlan



  • Hallo,

    den Code fügst du wie folgt ein:

    deinen Code
    

    Oder deinen Code komplett einfügen, markieren und unten auf den "C++"-Button klicken. 🙂



  • Ok. Danke. Sorry, dass ich mich so lange nicht gemeldet habe. Ich hatte keinen Zugriff auf den PC mit dem Code. 🙂

    Hier ist der Code:

    #pragma once
    
    namespace Win32Project2 {
    
    	using namespace System;
    	using namespace System::ComponentModel;
    	using namespace System::Collections;
    	using namespace System::Windows::Forms;
    	using namespace System::Data;
    	using namespace System::Drawing;
    
    	/// <summary>
    	/// Zusammenfassung für MyForm
    	/// </summary>
    	public ref class MyForm : public System::Windows::Forms::Form
    	{
    	public:
    		MyForm(void)
    		{
    			InitializeComponent();
    			//
    			//TODO: Konstruktorcode hier hinzufügen.
    			//
    		}
    
    	protected:
    		/// <summary>
    		/// Verwendete Ressourcen bereinigen.
    		/// </summary>
    		~MyForm()
    		{
    			if (components)
    			{
    				delete components;
    			}
    		}
    	private: System::Windows::Forms::Button^  button1;
    	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->button1 = (gcnew System::Windows::Forms::Button());
    			this->SuspendLayout();
    			// 
    			// button1
    			// 
    			this->button1->Location = System::Drawing::Point(84, 122);
    			this->button1->Name = L"button1";
    			this->button1->Size = System::Drawing::Size(94, 35);
    			this->button1->TabIndex = 0;
    			this->button1->Text = L"button1";
    			this->button1->UseVisualStyleBackColor = true;
    			this->button1->Click += gcnew System::EventHandler(this, &MyForm::button1_Click);
    			// 
    			// MyForm
    			// 
    			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
    			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
    			this->ClientSize = System::Drawing::Size(447, 351);
    			this->Controls->Add(this->button1);
    			this->Name = L"MyForm";
    			this->Text = L"MyForm";
    			this->ResumeLayout(false);
    
    		}
    #pragma endregion
    	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    			 }
    	};
    }
    

    Zahlreiche Dinge sind unterstrichen. Zum Beispiel:

    ComponentModel
    Windows
    Data
    Drawing
    und noch vieles mehr



  • Hallo Atlan,

    wenn du wirklich C++ lernen möchtest, dann lerne ersteinmal mittels einfacher Konsolenprogramme und steige danach auf ein C++ GUI-Toolkit (s. z.B. [HOWTO] Welches Toolkit für GUIS?) um, aber verwende keinesfalls C++ mit Windows Forms, s.a. Windows Forms und Visual C++ MACHT KEINEN SINN!. Die Sprache C++/CLI ist nur als Vermittlersprache (Interop) für managed und unmanaged Code gedacht (nicht als Sprache für eigenständige Anwendungen)!

    Und Windows Forms hat auch nichts mit MFC zu tun (d.h. falsches Subforum hier).



  • Deswegen haben manche Dinge aus meinem Buch wahrscheinlich nicht funktioniert. Weil das C++/CLI erwartet wurde und ich C/C++ programmiert habe.

    Mit den Toolkits, die du mir da gezeigt hast, wird immer richtiges C/C++ programmiert? Nicht irgendein Spezialkram?

    Danke. Dann werde ich mir die GUI Toolkits mal ansehen und erst mal ein Konsolenprogramm schreiben.

    Die GUI Toolkits und Frameworks haben sicherlich alle ihre Vor- und Nachteile und sind für unterschiedliche Verwendungszwecks unterschiedlich gut geeignet. Kann mir jemand eines empfehlen?



  • Atlan schrieb:

    Deswegen haben manche Dinge aus meinem Buch wahrscheinlich nicht funktioniert. Weil das C++/CLI erwartet wurde und ich C/C++ programmiert habe.

    Nein, Du hast offensichtlich .NET (CLI) und eben kein C++ programmiert.

    http://de.wikipedia.org/wiki/Common_Language_Runtime#Konzept

    Wenn Du CLI verwendest kannst besser gleich bei JAVA (managed Code) bleiben 😉
    Das ist wenigstens plattformunabhängig.

    Wähle ein Win32 Konsolenprojekt wenn Du mit C++ anfangen möchtest.

    Atlan schrieb:

    Die GUI Toolkits und Frameworks haben sicherlich alle ihre Vor- und Nachteile und sind für unterschiedliche Verwendungszwecks unterschiedlich gut geeignet. Kann mir jemand eines empfehlen?

    Du fragst im MFC-Forum welche GUI? Wenn Du die Prof. Version hast kannst Du mit C++ auch die MFC für die GUI verwenden.

    Wenn Du (nur) die Express-Version hast, kann man auch auf Win32-Basis alles programmieren. Ansonsten kommt es natürlich darauf an was und für welche Betriebssysteme es sein soll und welchen Compiler Du verwendest.

    Ausdiskutieren kannst Du das im GUI-Forum wenn Du weisst was Du wirklich willst.

    http://www.c-plusplus.net/forum/f51



  • Das verstehe ich jetzt nicht.
    Mein Compiler kann also doch C/C++ compilieren aber ich habe C++/CLI fabriziert, was der Compiler nicht lesen konnte?

    Mein Buch wirbt damit reinstes C++ zu lehren. Ich meinte nicht in meinem Code oben sondern wann anders, als ich Buchcode abgetippt habe, dieser aber nicht funktioniert hat.

    Was ich lernen möchte ist reinstes C++, so wie Bjarne es sich vorgestellt hat.

    Dann werde ich es mal im GUI Forum nachfragen.



  • Was für ein Buch? Es ist immer besser, das gleich zu sagen, als dass jemand irgendwelche Vermutungen anstellen soll.

    Was du gepostet hast ist sicher C++/CLI, kein C++.



  • Atlan schrieb:

    Das verstehe ich jetzt nicht.
    Mein Compiler kann also doch C/C++ compilieren aber ich habe C++/CLI fabriziert, was der Compiler nicht lesen konnte?

    Visual Studio kann sowohl .NET/C++ als auch Win32 C++.

    Vermutlich hast Du einfach den falschen Projekttyp ausgewählt.

    Wenn der Code nicht zum Projekt passt kommt er aber nicht klar ...



  • Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum C++/CLI mit .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Gut, dass der Thread verschoben wurde. 🙂

    Mein Buch heißt: C++ lernen und professionell anwenden

    Das mit dem Projekttyp weiß ich nicht, kann aber gut sein. Ich kann es aber leider erst im neuen Jahr ausprobieren. Bis dahin: Guten Rutsch und danke an alle. 🙂



  • Atlan schrieb:

    Gut, dass der Thread verschoben wurde. 🙂

    Mein Buch heißt: C++ lernen und professionell anwenden

    Das mit dem Projekttyp weiß ich nicht, kann aber gut sein. Ich kann es aber leider erst im neuen Jahr ausprobieren. Bis dahin: Guten Rutsch und danke an alle. 🙂

    Das wäre auch etwas genauer gegangen:

    C++ - Lernen und professionell anwenden
    mitp-Verlag; Ulla Kirch, Peter Prinz
    6. überarbeitete Auflage 2012
    Mit Visual Studio Express 2012

    Der von dir gepostete .NET/CLI Code steht da sicher NICHT drin.

    Somit bist du nun zwar im zu Deinem Code passenden Forum, das passt aber nicht zu dem angesprochenen Buch.

    Das erste Programm macht das bereits klar ...

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
    cout << "Hallo!" << endl;
    }
    

    Dass ist lupenreines C++ (ohne .NET/CLI/CLR).

    Ich würde vorschlagen bei diesem Buch mal vorne anzufangen 💡



  • Ich habe neben diesem Buch versucht etwas mit einer GUI zu machen und bin dabei bei C++/CLI angeeckt. Das war mein Problem.

    Eine andere Geschichte ist, dass ich mal Code aus dem Buch abgetippt habe, dieser aber nicht funktioniert hat.


Anmelden zum Antworten