[solved] Nicht deklarierte Variable



  • Ich dachte immer, dass bei C++ alle Variablen deklariert werden müssen... jetzt habe ich versehentlich eine nicht deklariert... und es funktioniert trotzdem.
    Bin ich etwa auf einem falschen Stand?



  • nein, aber nicht meine kristallkugel, die zeigt grad gar nix an...
    also her mit dem mysterious code fragment...



  • Sorry... hast recht:

    // ...
    	// Check if there are any given arguments (except the filename of obaya)
    	bool viewHelp	= false;
    	bool quit		= false;
    
    	//temp start:
    	std::cout << "Arguments: " << (argc+1) << std::endl; //temp end;
    
    	/**
    	 * checking if there is more than one argument
    	 */
    	if ( argc > 1 )
    	{
    		std::string arg = "";
    		for ( int i=1; i<argc; i++ )
    		{
    			// temp start:
    			std::cout << i << ": " << argv[i] << std::endl; //temp end;
    
    			arg = argv[i];
    
    			/**
    			 * viewing help-message
    			 */
    			if ( arg == "-h" )
    				viewHelp = true;
    
    			/**
    			 * viewing version-message
    			 */
    			else if ( arg == "-v" )
    				viewVersion = true;
    
    			/**
    			 * every other argument is handled as file
    			 */
    			else
    			{
    
    			}
    		}
    	}
    	// ...
    

    Sorry für ne falsche grammatik oder so ^^ ... na jedenfalls wurde viewVersion nirgens deklariert. Bekommt aber später einen Wert.



  • Dann ist es wahrscheinlich eine globale Variable, die mit irgend einem Header kommt. Such mal in den Header die du includiert hast.



  • In Visual Studio geht das so:
    Rechtsklick auf die Variable und dann "Gehe zu Deklaration".



  • ähm... ich hab das Programm selbst geschrieben und hab es in keiner anderen Header-Datei deklariert... und ich hab kein Visual Studio nur nen Editor und g++

    danke trotzdem 🙂 ich werds mir morgen ansehn



  • error: ‘viewVersion’ was not declared in this scope|

    Irgendwo muss bei dir eine Deklaration sein.



  • wx++ schrieb:

    error: ‘viewVersion’ was not declared in this scope|

    Irgendwo muss bei dir eine Deklaration sein.

    Das hätte ich dir auch ohne einen Compiler sagen können. 😉



  • ja wahrscheinlich... habs aber nirgens gesehn
    danke dennoch 😃


Anmelden zum Antworten