error: invalid conversion from 'int' to 'int*' [-fpermissive]|

Odpowiedz Nowy wątek
2020-08-01 02:47

Rejestracja: 2 tygodnie temu

Ostatnio: 1 tydzień temu

0

Jak to naprawić?

#include <iostream>

using namespace std;

int tablica;

int main()
{
    int ile;
    cout<<"Podaj jak duza ma byc tablica: ";
    cin>>ile;
    int *wskaznik=tablica; //problem jest tu
    tablica=new int [ile];   //i tu
    for(int i=0; i<ile; i++)
    {
        *wskaznik=i;
        cin>>*wskaznik;
        *wskaznik++;
    }

    for(int i=0; i<ile; i++)
    {
        *wskaznik=i;
        cout<<*wskaznik<<endl;
        *wskaznik++;
    }

    delete [] tablica;
    return 0;
}

nie umiem jeszcze w wskaźniki a więc jakiekolwiek porady i poprawki chętnie przyjmę

edytowany 1x, ostatnio: kq, 2020-08-01 02:48

Pozostało 580 znaków

kq
2020-08-01 02:48
kq
Moderator C/C++

Rejestracja: 7 lat temu

Ostatnio: 5 godzin temu

Lokalizacja: Szczecin

5

Wróć do kursu/książki z którego się uczysz i przeczytaj o wskaźnikach. Wyraźnie widać, że nie ogarniasz. Żeby Ci pomóc trzeba by po prostu przepisać rozdział o wskaźnikach - dlatego do niego odsyłam.


edytowany 1x, ostatnio: kq, 2020-08-01 03:40

Pozostało 580 znaków

2020-08-01 12:50

Rejestracja: 1 rok temu

Ostatnio: 12 godzin temu

0

int *wskaznik=tablica jest tutaj kompletnie niepotrzebne. Zastanow sie co moze byc zlego w alokowaniu pamieci w ZWYKLEJ zmiennej typu int.

Pozostało 580 znaków

2020-08-01 16:42

Rejestracja: 15 lat temu

Ostatnio: 2 minuty temu

0
    int *tablica=new int[ile],*wskaznik=tablica;

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0