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

C++ tablica char - narrowing conversion from in to char

0 głosów
515 wizyt
pytanie zadane 13 sierpnia 2018 w C i C++ przez niezalogowany

Witam!

Mam nastepujacy problem:

  char tb[13]{'M', 'CM','D', 'CD', 'C', 'XC','L', 'XL','X', 'IX','V', 'IV','I'};

error: narrowing conversion of '17229' from 'int' to 'char' inside { }

Mógłby ktoś wyjaśnić czemu tak pisze, oraz jak to naprawić?

1 odpowiedź

0 głosów
odpowiedź 13 sierpnia 2018 przez Patrycjerz Mędrzec (192,320 p.)

Coś takiego jak 'CM' itp. nie istnieje w C++. W apostrofach definiujemy literały znakowe, nie łańcuchy znaków. Powinieneś stworzyć tablicę stringów, tzn.:

std::string tb[13]{"M", "CM", ...};

PS Nie spotkałem się z inicjalizacją tablicy bez znaku =. Najwyraźniej jest to możliwe, bo i GCC, jak i VS, to przyjmują. Prosiłbym o źródła tłumaczące tę składnię, bo osobiście takich nie znalazłem.

komentarz 13 sierpnia 2018 przez niezalogowany

Z inicjalizacją typu

int tab[1] {5};

spotkałem się w książce Opus Magnum autorstwa Jezrzego Grębosza

A, i dzięki za odpowiedź :D

komentarz 13 sierpnia 2018 przez Patrycjerz Mędrzec (192,320 p.)
Muszę więc poczytać więcej o nowych standardach języka. Również dziękuję.
1
komentarz 13 sierpnia 2018 przez monika90 Pasjonat (22,940 p.)

Coś takiego jak 'CM' itp. nie istnieje w C++.

oczywiście że istnieje

komentarz 13 sierpnia 2018 przez Hiskiel Pasjonat (22,830 p.)
W takim razie jako co to istnieje?
2
komentarz 13 sierpnia 2018 przez Qwerty96 Stary wyjadacz (13,580 p.)

https://en.cppreference.com/w/cpp/language/character_literal

Multicharacter literal, e.g. 'AB', has type int and implementation-defined value. 

komentarz 13 sierpnia 2018 przez Patrycjerz Mędrzec (192,320 p.)
Człowiek codziennie się czegoś uczy... dzięki.
2
komentarz 13 sierpnia 2018 przez draghan VIP (106,230 p.)

Nie spotkałem się z inicjalizacją tablicy bez znaku =. Najwyraźniej jest to możliwe, bo i GCC, jak i VS, to przyjmują. Prosiłbym o źródła tłumaczące tę składnię, bo osobiście takich nie znalazłem.

[patrz na formę (2)]

 

Podobne pytania

–1 głos
1 odpowiedź 960 wizyt
0 głosów
2 odpowiedzi 1,275 wizyt
0 głosów
2 odpowiedzi 3,627 wizyt

93,631 zapytań

142,553 odpowiedzi

323,056 komentarzy

63,138 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2658p. - dia-Chann
  2. 2630p. - DziarnowskiJ
  3. 2590p. - Łukasz Piwowar
  4. 2550p. - raydeal
  5. 2529p. - Adrian Wieprzkowicz
  6. 2478p. - rucin93
  7. 2348p. - Łukasz Eckert
  8. 2340p. - CC PL
  9. 2184p. - Maurycy W
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1811p. - rafalszastok
  13. 1600p. - Rafał Trójniak
  14. 1588p. - Tomasz Bielak
  15. 1494p. - ssynowiec
Szczegóły i pełne wyniki

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

Kursy INF.02 i INF.03
...