Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z przekazaniem argumentów przez wskaźnik

Ostatnio zmodyfikowano 2013-07-31 21:13
Autor Wiadomość
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.
C/C++
#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?
P-89137
domin568
» 2013-07-31 21:04:17
Int funkcja (int * , int * ) ; a Ty zrobiłeś na zwykle zmienne ;)
P-89139
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.
P-89141
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 :)
P-89142
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!
P-89143
« 1 »
  Strona 1 z 1