Fehler beim Übergeben von String -Array, um in C ++ zu funktionieren
Posted: 19 Aug 2025, 02:14
Hallo Leute, ich habe einige Fehler, wenn ich ein paar Array -Saiten in C ++ übergeben habe. Weißt du, was mit diesem Code los ist?
Es bedeutet also, dass wir kein String -Array an eine solche Funktion übergeben können, oder vielleicht kann ich etwas Zeichen verwenden?
Code: Select all
#include
#include
void showData(string data[]);
int main()
{
string namaMahasiswa[] = {"Nico", "Yonathan", "Andre", "Ratu"};
enum option{ SHOW = 5 };
switch (5)
{
case SHOW:
showData(namaMahasiswa);
break;
}
}
void showData(string data[])
{
for (int z = 0; z < sizeof(data) / sizeof(*data); z++)
{
cout
'int main()':
index.cpp:61:18: error: could not convert '(std::string*)(& namaMahasiswa)' from 'std::string*' {aka 'std::__cxx11::basic_string*'} to 'std::string' {aka 'std::__cxx11::basic_string'}
61 | showData(namaMahasiswa);
| ^~~~~~~~~~~~~
| |
| std::string* {aka std::__cxx11::basic_string*}
In function 'void showData(std::string*)':
index.cpp:83:36: warning: 'sizeof' on array function parameter 'data' will return size of 'std::string*' {aka 'std::__cxx11::basic_string*'} [-Wsizeof-array-argument]
83 | for (int z = 0; z < sizeof(data) / sizeof(*data); z++)
index.cpp:80:22: note: declared here
80 | void showData(string data[])