Re: Rückgabe von mehrdimensionalem String in C++

Jeffrey Kelling <[email protected]>
Newsgroups gmane.user-groups.linux.dresden
Message-ID <6443523.4vTCxPXJkl@toruk>
Hallo.

> Nun kenn ich aus Perl die Vorzüge von "Hashes". Darin lassen sich sehr
> gut diese Informationen speichern und mit den "keys" die "values" oder
> mit den "values" die "Keys" abrufen.

Eine Hasmap ha die STL auch:
https://en.cppreference.com/w/cpp/container/unordered_map

> D.h. auch, dass ich nat. weiss, wie groß der Datenraum max. ist. Hier:
> 40-Pins -> 40-Werte (abzügl. 3,3V, 5V, GND-Pins usw.). Ein dynamisch
> angepasster Vector ist nat. wahrscheinlich sinnvoller. Vectoren habe ich
> auch schon im Code und habe mir mal angesehen, wie man eigene "Struct"'s
> anlegt. Kommt den Perl-Hashes schon sehr nahe.
> 
> Ich habe das jetzt so angelegt:
> 
> --------
> 
> 
> struct csv_values {
>      string pin_number;
>      string in_out_name;
>      string in_out_function;
> 
> };

Es ist durchaus sinnvoll das was du über die Datan/Domäne weißt in  Code zu 
gießen.

> make
> 
> g++    -c -o src/lib/init_hw.o src/lib/init_hw.cpp
> src/lib/init_hw.cpp:In member function ‘void ZEROHW::init_hw(const
> std::vector<std::__cxx11::basic_string<char> >&)’:
> src/lib/init_hw.cpp:52:69:error: use of ‘auto
> READCSV::read_config_files(const string&)’ before deduction of ‘auto’
>    52 |             auto pin_defs =
> read_csv.read_config_files(file_names[0]);
>       | ^
> make: *** [<eingebaut>: src/lib/init_hw.o] Fehler 1

Hast du vllt die Funktion mit `auto` Rückgabetyp in einem Header nur 
deklariert, aber nicht definiert? `auto` geht nur, wenn der Compiler beim 
Aufruf auch sieht was in der Funktion zurückgegeben wird, wenn sie als auf 
irgendeineweise inline bzw. in der gleichen Kompiliereinheit definiert wird. 
Wenn die Definition in einer separaten Einiheit ist, dann musst du explizit 
sagen was der Rückgabetyp ist, also `std::vector<csv_values>`.

Viele Grüße

Jeffrey
signature.asc (application/pgp-signature, 273 B)
-----BEGIN PGP SIGNATURE-----

iJUEABMJAB0WIQRYQ1/8enc6816UjQWromRh24YiVQUCYnA30AAKCRCromRh24Yi
VSG5AYCKRn2MWHxV47fn/ZcYnocxZZ2BOEnIbovgIszHXTfOELU3y7SQqOAXU7ll
Y2cbmTsBfj6/dQhYMueP/i4lEJbEy8BiU3CuBI4PCQkfq4iqC5aaWCWzWmqHxV+I
JpXTFrqYMQ==
=EkI/
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.