• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C++ problem z kompilacja

VPS Starter Arubacloud
0 głosów
269 wizyt
pytanie zadane 3 kwietnia 2021 w C i C++ przez HGH Początkujący (430 p.)

Witam, mam taki fragment kodu:

#include <iostream>


using namespace std;

int main()
{
  int ilosc;

  cout << "Ile liczb chcesz porównać?";
  cin >> ilosc;

  int *tablica = new int[ilosc];

  return EXIT_SUCCESS;
}

i taki oto bląd:

Implicit conversion changes signedness: 'int' to 'unsigned long long'

rozumiem, że coś jest nie tak przy próbie alokacji pamięci, tylko co? co powinienem poprawić? Wklejajac gotowe programy z internetu gdzie inni wykorzystuja dokladnie ta sama metode, tez mam blad, Clion mi podpowiada zeby poprawić 1 linijke z 

int ilosc;

na :

unsigned long long int ilosc;

ale dlaczego tak? moze ktos objasnic?

 

komentarz 3 kwietnia 2021 przez tkz Nałogowiec (42,020 p.)
Sprawdź "pojemność" int'a i porównaj z liczbą, którą wprowadzasz.
komentarz 4 kwietnia 2021 przez HGH Początkujący (430 p.)
nie w tym problem, nie moge wprowadzic liczby nawet bardzo małej, przykładowo 2 czy 3
komentarz 4 kwietnia 2021 przez tkz Nałogowiec (42,020 p.)
Czym kompilujesz?
komentarz 4 kwietnia 2021 przez HGH Początkujący (430 p.)
CLion
komentarz 4 kwietnia 2021 przez tkz Nałogowiec (42,020 p.)

Czyli clang. tangarr podał prawidłową odpowiedź. Co ciekawe gcc już tego ostrzeżenia nie rzuca. Flaga za to odpowiedzialna -Wsign-conversion.

1 odpowiedź

+1 głos
odpowiedź 3 kwietnia 2021 przez tangarr Mędrzec (155,040 p.)
Nie wiem jakie masz flagi kompilacji ale prawdopodobnie jest to tylko ostrzeżenie.

Alokacja tablicy wymaga podania dodatniego rozmiaru tablicy. Typ int może przechowywać liczby ujemne. Kompilator ostrzega cię, że użycie typu int potencjalnie może prowadzić do błędów.

Podobne pytania

+1 głos
1 odpowiedź 134 wizyt
pytanie zadane 27 listopada 2016 w C i C++ przez Wiciorny Ekspert (275,470 p.)
+2 głosów
2 odpowiedzi 167 wizyt
pytanie zadane 1 kwietnia 2016 w C i C++ przez jeremus Maniak (59,720 p.)
0 głosów
2 odpowiedzi 373 wizyt
pytanie zadane 18 marca 2017 w C i C++ przez QizmoPL Stary wyjadacz (11,440 p.)

92,830 zapytań

141,771 odpowiedzi

320,817 komentarzy

62,159 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...