Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Übergabe eine std::map<...>& aus einer DLL heraus.

Empfohlene Antworten

Veröffentlicht

Hi,

ich habe ein kleines Problem. Vorweg ich arbeite mit MS VC++ 6.0. Also ich habe eine Dll und ein Programm, dass diese Dll einbindet.


// Dll

// ...

std::map<std::string, std::string> params;

// params füllen


// TESTAUSGABE 1

for (std::map<std::string, std::string>::iterator iter = params.begin(); 

      iter != params.end(); 

      iter ++ )

{

   std::cout <<  (*iter).first << " / " << (*iter).second << "\n"; 

}

std::cout << std::endl;


// m_callback ist ein Zeiger auf eine Funktion und zeigt auf callback im 

// Programm.

m_callback(params);


// ...


// -----------------------------------------------------------------------

// Programm

// ...

void callback (std::map<std::string, std::string>& params)

{

   // TESTAUSGABE 2

   for (std::map<std::string, std::string>::iterator iter = params.begin(); 

         iter != params.end(); 

         iter ++ )

   {

      std::cout <<  (*iter).first << " / " << (*iter).second << "\n"; 

   }

   std::cout << std::endl;

}

// ...

Zum Problem: Ich habe zum Testen die beiden Ausgaben eingebaut. Ausgabe 1 funktioniert einwandfrei udn zeigt mir alle key/value- Paare an, die ich vorher in die map geschrieben habe. Ausgabe 2 schlägt fehl. Die map enthält die richte Anzahl Elemente (params.size()). Dementsprechend läuft auch die Schleife die 'richtige' Anzahl Durchläufe. Aber ich kann auf den Iterator nicht zugreifen. Beim Versuch (*iter).first bzw. (*iter).second auszugeben crashed mein Programm.

Die Lösung überlasse ich Euch ;) Ich hate schon an einen Compilerfehler gedacht (ähnlich dem Problem, dass ich in der callback Funktion keinen std::string zurückgeben kann), dazu ist mir allerdings nichts bekannt.

hilft schon mal bei der Rückgabe eines std::string. :) Aber die map möchte weiterhin nicht. :(

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.