char* t[5];
Czy to jest prawidłowa deklaracja tablicy?
char* t[5];
Czy to jest prawidłowa deklaracja tablicy?
Tak.
Utworzyłem tablicę wskaźników?
No to jest deklaracja/definicja (zależnie od kontekstu) tablicy pięciu wskaźników na char
.
Witam wszystkich.
Tak utworzyłeś tablicę wskaźników typu char .
Co może oznaczać błąd cannot convert char** to char*
Może oznaczać, że wypada podać więcej kodu zamiast kazać nam zgadywać.
MCVE: https://dsp.krzaq.cc/post/445/jak-zadawac-pytania-na-forum/
Zrobiłem progam który ma podmieniać napisy
char * foo(char* napis)
{
char* napis1;
for(int i=0; i<5; i++)
{
napis1[i]=napis[i]
}
return napis1
}
int main()
{
....
char napis[5];
char* wsk;
wsk = foo(napis);
}
wsk
nie jest zainicjalizowane.
Do kopiowania napisów masz strncpy
No i zdecyduj się czy chodzi Ci o C
czy co C++
C ++, no ale co oznacza błąd " cannot convert char** to char *"
wskaźnik na wskaźnik na char i wskaźnik na char to różne typy, nie ma sensownej domyślnej konwersji między nimi, więc język na to nie pozwala.
Render125 napisał(a):
C ++
No to w C++ kopiowanie stringów wygląda tak
std::string source{"Jakis tam string"};
std::string dest{source};
```
> no ale co oznacza błąd` " cannot convert char** to char *"`
```cpp
const char* napis{"jeden napis"};
const char* napisy[]{"pierwszy napis", "drugi napis", "trzeci napis"};
```
Widzisz różnicę?
Chociaż w C++ wygodniej jest użyć `std::string_view` zamiast "surowych" c-stringów.