Jak wygląda prawidłowa deklaracja tablicy wskaźników?

0
char* t[5];

Czy to jest prawidłowa deklaracja tablicy?

1

Tak.

0

Utworzyłem tablicę wskaźników?

2

No to jest deklaracja/definicja (zależnie od kontekstu) tablicy pięciu wskaźników na char.

1

Witam wszystkich.

Tak utworzyłeś tablicę wskaźników typu char .

0

Co może oznaczać błąd cannot convert char** to char*

1

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/

0

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);

}
3

wsk nie jest zainicjalizowane.
Do kopiowania napisów masz strncpy

No i zdecyduj się czy chodzi Ci o C czy co C++

0

C ++, no ale co oznacza błąd " cannot convert char** to char *"

3

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.

3
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.

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