» »

rabim pomoč c++

rabim pomoč c++

kretze ::

zdravo folk kaj gdo ve kaj je tu narobe??


#include <iostream>	
#include <stdlib.h> 
#include <string> 
using namespace std; 


void printvals(void(*pfunc)(int & ,int & ),int x, int y)
{
	cout << "x: " << x << "y: " << y << endl;
	pfunc(x, y);
	cout << "x: " << x << "y: " << y << endl;
}
void square(int &rx, int &ry)
{
	rx *= rx;
	ry *= ry;
}

void cube(int &rx, int & ry)
{
	int tmp;
	tmp = rx;
	rx *= rx;
	rx = rx*tmp;

	tmp = ry;
	ry *= ry;
	ry = ry*tmp;


}


void swap(int &rx,int &ry)
{
	

	int tmp;
	tmp = rx;
	rx = ry;
	ry = tmp;


}

void getvals(int &rvalOne, int & rvalTwo)
{
	cout << "new value for rvalone :";
	cin >> rvalOne;
	cout << "new value for rvaltwo :";
	cin >> rvalTwo;
}

int main()
{
	
	int rvalOne = 1, rvalTwo = 2;
	int choice;
	bool fquit = false;

	void(*pFunc)(int &, int&);

	while (fquit == false)
	{
		cout << "(0) quit (1) change values (2) square (3) cube (4) swap ";
		cin >> choice;

		switch (choice)
		{
		case 1:
			pFunc = getvals;
			break;
		case 2:
			pFunc = square;
			break;
		case 3:
			pFunc = cube;
			break;
		case 4:
			pFunc = swap;
			break;
		default:
			fquit = true;
			break;

			
		}

		if (fquit == false)
			printvals(pFunc, rvalOne, rvalTwo);
	}


	system("pause");
	return 0;
}

Red_Mamba ::

premalo informacij mogoce?
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

kretze ::

Error list mi to napako javi: Error1 error C4703: potentially uninitialized local pointer variable 'pFunc' used

Red_Mamba ::

ja pa verjetno tudi pove v kateri vrstici zajamra?
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

kretze ::

line 90

smoke ::

Naredi eno prazno funkcijo in z njo inicializiraj pFunc v defaultu. Problem je, da če program ubere default vejitev v switchu, je pFunc neinicializiran.

Smurf ::

Ni potrebe po prazni funkciji. Zgolj inicializiraj na zacetku kot pFunc = NULL. Potem je pa se lepse, da ko klices funkcijo s tem pointer parametrom, da preveris, ce je razlicen od NULL.

Zgodovina sprememb…

  • spremenil: Smurf ()

smoke ::

@Smurf, potem raje "nullptr", glede na to da ima C++. Čeprav, če naredi prazno funkcijo se ifu čisto izogne in ima Null Object pattern. :)

Smurf ::

smoke je izjavil:

@Smurf, potem raje "nullptr", glede na to da ima C++. Čeprav, če naredi prazno funkcijo se ifu čisto izogne in ima Null Object pattern. :)

A, mea culpa. Narobe razumel prvotni nasvet. Se strinjam, da je to se lepse.

galu ::

Tretiranje potencialne logične napake kot compile error je malo hecno - pametnejša odločitev s strani MS bi bila zgolj izpis opozorila. g++ tega featurja nima in prevede (celo brez opozoril).
Tako to gre.

Mavrik ::

galu je izjavil:

Tretiranje potencialne logične napake kot compile error je malo hecno - pametnejša odločitev s strani MS bi bila zgolj izpis opozorila. g++ tega featurja nima in prevede (celo brez opozoril).


Kodrkoli s pol možganov piše C++ kodo z -Wall -Werror . Ta odpustljivost g++ povrzroča neskončne težave ker se programerjev ne tepe dovolj ko pišejo drek kodo.
The truth is rarely pure and never simple.

galu ::

No, pa prevedi s temi zastavicami, pa javi, če ti vrne kaj napak. Verzija 4.9.2 jih ne (in obstaja še ogromno potencialnih problemov, ki jih spregleda).

Ta odpustljivost je del koncepta jezika C/C++, kjer bi naj programer vedel, kaj dela. Za gledanje pod prste obstajajo boljši jeziki.
Tako to gre.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[c++] konstruktorji

Oddelek: Programiranje
294866 (4195) AndrejO
»

[C] Sinhronizacija procesov

Oddelek: Programiranje
71036 (909) Cvenemir
»

Program v C

Oddelek: Programiranje
51839 (1678) darkkk
»

Pomnilnik in c++

Oddelek: Programiranje
241911 (1620) Gundolf
»

Dev-C++ in napaka pri prevajanju funkcij

Oddelek: Programiranje
181042 (891) MartnKrp

Več podobnih tem