Zum Inhalt springen

extra qualification 'binary::' on member 'operator='


Empfohlene Beiträge

Geschrieben

Hi Ich hab beim kompilieren folgenden Fehler gekriegt, kann mir da jmd vielleicht weiter helfen?

binary.h:18: error: extra qualification 'binary::' on member 'operator='

binary.h:19: error: extra qualification 'binary::' on member 'shift'

binary.h:20: error: extra qualification 'binary::' on member 'exist'

Dir Headerdatei binary.h sieht wie folgt aus :

#ifndef _BINARY_H_H_

#define _BINARY_H_



class binary : public vector{



public:

	binary() {}                   // Standard-Constructor

	~binary() {}                 // Destructor

int binary_decimal();

binary decimal_binary(int d1);

binary& operator+=(binary& v1);

binary& operator-=(binary& v1);

binary binary_inv(binary v1);

binary twoscomplement(binary v1);

binary& operator=(const binary& v);                         // Zuweisungs-Operator

binary& binary::operator=(const vector& v);

binary binary::shift();

bool binary::exist();

friend binary operator+(binary& v1,binary& v2);


private:

//	vector v_binary;

};


#endif

und der dazugehörige Ausschnitt-Quellcode binary.cpp:
binary& binary::operator=(const binary& v)

{

	if(this!=&v)                // Selbstzuweisung vermeiden

	{

		if(element)

			delete[] element;

		n=v.n;

		if(n!=0)                  // Wenn kein leerer Vektor

		{                         // elementweise kopieren

			element=new double[n];

			for(unsigned int i=0;i<n;i++)

				element[i]=v.element[i];

		} else

			element=0;

	}

	return *this;

}



binary& binary::operator=(const vector& v)

{

	if(this!=&v)                // Selbstzuweisung vermeiden

	{

		if(element)

			delete[] element;

		n=v.n;

		if(n!=0)                  // Wenn kein leerer Vektor

		{                         // elementweise kopieren

			element=new double[n];

			for(unsigned int i=0;i<n;i++)

				element[i]=v.element[i];

		} else

			element=0;

	}

	return *this;

}


binary binary::shift(){

	bool exit = false;

	int i= 0;

	int deci = 0;;

	double check = 0.0;

	int dimension = dim();

	binary result;

		do{

			if (element[i] == 1){

				for (int j=i; j<dim();j++){

					check += element[j];

				}

				check/=(j-i);

				if (check != 1){ 

					deci = binary_decimal();

					deci = deci + pow(2,i);

					result.decimal_binary(deci);

					if (result.dim() < dimension){

						for (int k = result.dim(); k < dimension; k++){

						result.insert(k,0);

						}

					}

					exit = true;

				}

				else{

					for (int j = 0; j < dimension; j++){

						result.insert(j,0);

					}

					exit = true;

				}

			}

			i++;

		}while(!exit);

		return result;

}


bool binary::exist(){

	bool _exist = true;

	bool exit = false;

	double check = 0;;

	int sum = 0;

	for (int i = 0; i< dim();i++){

	sum += element[i];

	}

	if (sum == 0){

		_exist = false;

	}

	i=0;

	do{ 

		if (element[i] == 1){

			for (int j=i; j<dim();j++){

				check += element[j];

			}

			check/=(j-i);

			if (check == 1){

				_exist = false;

			}

			exit = true;

		}

		i++;

	}while(!exit);

	return _exist;

}

Woran könnte es liegen?

Geschrieben
Woran könnte es liegen?

Die Fehlermeldung ist eigentlich ziemlich klar:

An dem "binary::" an den angemerkten Stellen in der Headerdatei. Innerhalb der Klassendefinition ist dieser Scope-Prefix nicht nur unnötig, sondern schlicht falsch.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...