mhh ganz komisch...
ich hab mal das mit dem *it = 18; ausprobiert... siehe Quellecode:
void edit_int(int pos, int wert, many & values)
{
int a;
Art: Beiträge; Benutzer: ufosworld
mhh ganz komisch...
ich hab mal das mit dem *it = 18; ausprobiert... siehe Quellecode:
void edit_int(int pos, int wert, many & values)
{
int a;
wie ginge das? Codebeispiel... weil bei den Methoden zu list finde ich leider nichts... wie ich über Iterator einen Datensatz ändern kann.
werde das mal ändern... (du meinst weil die...
So nachdem ich jetzt ein paar Datensätze in der Liste stehen habe, wollte ich diese Datensätze ändern.
Da es aber bei std::list keine fertige Methode gibt zum ändern eines Datensatzes (habe keine...
Ok danke erstmal.... läuft ja schon ganz gut...
Leider habe ich noch folgende Probleme...
Strings mag er jetzt gar nicht mehr.
char * cstr;
Hier mal der Code mit unten angefügter Ausgabe der das Problem teilweise schon verdeutlicht:
#include <iostream>
#include <stdio.h>
#include <list>
#include <boost/any.hpp>
using...
Nachdem ich das Problem mit den Strings / Char speichern mit dem Datentyp BOOST:ANY nicht zum laufen bekomme.
( Integer und Double speichert er schön ab und kann diese auch an ein anderes Modul...
was ist 12.34 den dann?? double???
NACHTRAG: ja es ist Double jetzt speichert er die Double Werte ab und sendet diese auch mit an das nächste Modul
das mit dem char x[50] scheint er...
also ich werde das Montag mal checken...
werde aber Rechner wechseln...
Gcc is der 3.2 er
Suse Linux 8.1
Nachdem ich nun Boost in mein Projekt eingebunden habe für die Übergabe der Parameter musste ich feststellen das man mit Boost ziemlich beschränkt ist....
Den Example Code von www.boost.org habe...
Vermutung:
Können die Speicherschutzverletzungen daher kommen, da ich wie es aussieht nie ein
new oder ein
delete mache?
z.b. hier mal ein Modul.... (Input-Modul)
@panzi... ja klar... bin irgendwie zur Zeit planlos... :confused:
ok hab den Symbolnamen geändert...
anbei mal der Code der Libcall Funktion im Hauptprogramm
oben im Hauptprogramm folgender...
Dieses DLOPEN und die Parameterübergabe bringt mich noch in Grab...
:( :mad: :( :mad:
Hab noch ein bischen gegoogelt und da folgende Möglichkeit gefunden.
modul-test.cpp
// Aufruf...
hab etz mal ein paar fragen dazu, weil irgendwie geht da gar nix wenn ich da die Sterne einfüge...
Ich bekomme nach der Rückgabe der Werte aus dem ersten Modul
und beim Aufruf des zweiten Moduls mit Übergabe-Parameter eine
Speicherschutzverletzung.
folgenden Code für den Aufruf der...
??? sry aber ich hab keinen plan was du meinst... vielleicht weil freitag is.. ^^
ich kann also in Verbindung mit
dlsym keinen 3ten Parameter beim Auftruf angeben
newvalues = (*work)...
Habe hier ein kleines Problem mit dem dlopen
also Files lädt es, das passt... ich kann auch auf die Funktion in der Datei zugreifen...
nun das Problem:
ich habe eine verkettete Liste... in...
also mit dem std::swap befehl,
kann man nur immer alle Werte von zwei Objekten tauschen...
siehe hier:
http://www.cplusplus.com/reference/algorithm/swap.html
das iter_swap ist kein Iterator...
ok habs mittlerweile rausgefunden
mit iter_swap kann man Elemente tauschen
nur hab ich nun folgendes Problem:
Boost::Any hat ja den Vorteil das man da erstmal alles reinpacken kann...
er...
Ok das geht soweit...
nun wollte ich in der Liste gespeicherte Werte verändern/tauschen
hab da den Befehl swap bei List gefunden
aber wie der Code hier aussieht kann man mit dem Swap Befehl...
also
std::cout << (*it) <<endl; ist es nicht (Tausende von Fehlermeldungen)
std::cout << (it) <<endl; ist es auch nicht
many::iterator it = values.begin();
many::iterator endIt = values.end();
for (; it != endIt; ++it)
{
}
ahja... und was müsste ich in die klammern schreiben??
std::cout << (*it)...
ok irgendwie hat das nicht geklappt... habe aber jetzt folgenden Code zum laufen gebracht...
#include <string>
#include <iostream>
#include <list>
#include <boost/any.hpp>
#include <stdio.h>...
folgenden Code wollte ich testhalber mal Boost::any tauglich machen... klappt aber nicht..
#include <string>
#include <iostream>
#include <list>
#include <boost/any.hpp>
#include...
Folgende Frage.
habe von der Boost.org Seite das Beispiel
#include <list>
#include <boost/any.hpp>
using boost::any_cast;
typedef std::list<boost::any> many;
Ok habe jetzt Boost installiert... dauerte 3 Stunden...
die erzeugten Dateien liegen in
/usr/local/lib
(619 MB !!!!)
Nun kann ich das Beispiel mit dem Filesystem mit folgendem Kommando...