Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Empfohlene Antworten

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?

Ah ok, Danke.

Bin ziemlich neu in C++ :)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.