Problem z przekazaniem argumentów przez wskaźnik
Ostatnio zmodyfikowano 2013-07-31 21:13
ravv1 Temat założony przez niniejszego użytkownika |
Problem z przekazaniem argumentów przez wskaźnik » 2013-07-31 20:57:33 Treść zadania: Napisz funkcję otrzymującą jako argumenty wskaźniki do dwóch zmiennych typu int, która zwraca jako wartość mniejszą z liczb wskazywanych przez argumenty. #include <iostream> using namespace std;
int funkcja( int, int );
int funkcja( int * pA, int * pB ) { if( * pA > * pB ) { return * pA; } else { return * pB; } }
int main() { int a = 1; int b = 2; int * pA; int * pB; pA = & a; pB = & b; int funkcja( * pA, * pB ); cout << "a = " << a << endl; cout << "b = " << b << endl; cout << "Adres a = " << pA << endl; cout << "Adres b = " << pB << endl; return 0; } Błędy: error C2078: too many initializers, error C2440: 'initializing' : cannot convert from 'int *' to 'int' Co robię źle? |
|
domin568 |
» 2013-07-31 21:04:17 Int funkcja (int * , int * ) ; a Ty zrobiłeś na zwykle zmienne ;) |
|
ravv1 Temat założony przez niniejszego użytkownika |
» 2013-07-31 21:08:27 Teraz zostało tylko too many initializers w miejscu gdzie przekazuje argumenty funkcji. |
|
domin568 |
» 2013-07-31 21:12:05 Po co w main piszesz int przed wykonaniem funkcji , jezeli wykonujemy funkcje to nie piszemy zwracanego przez nią typu , bo to tak jak byś ja tworzył . Myśle ze pomoglem :) |
|
ravv1 Temat założony przez niniejszego użytkownika |
» 2013-07-31 21:13:56 Okej rozumiem. Teraz zostało: error C2664: 'funkcja' : cannot convert parameter 1 from 'int' to 'int *'. Przecież jest int *... Edit: Działa. Nie powinno byc int* tylko zwykłe int, Dzieki za pomoc! |
|
« 1 » |