इस कोड में रनटाइम त्रुटि क्यों है?स्ट्रिंग्स (सी ++) के साथ मानचित्र का उपयोग करके इस कोड में रनटाइम त्रुटि क्यों है?
#include <cstdio>
#include <map>
#include <string>
#include <iostream>
using namespace std;
map <int, string> A;
map <int, string>::iterator it;
int main(){
A[5]="yes";
A[7]="no";
it=A.lower_bound(5);
cout<<(*it).second<<endl; // No problem
printf("%s\n",(*it).second); // Run-time error
return 0;
}
यदि आप कोउट का उपयोग करते हैं, तो यह ठीक काम करता है; हालांकि, अगर आप printf का उपयोग करते हैं तो यह रनटाइम त्रुटि देता है। मैं इसे कैसे ठीक करूं? धन्यवाद!
g ++ 4.6.3 संकलन-समय के साथ शिकायत करता है "त्रुटि: गैर-त्रिभुज-प्रतिलिपि प्रकार की संरचनाओं को पार नहीं कर सकता 'स्ट्रक्चर std :: basic_string' through '...'"। मैं शर्त लगाता हूं कि आपके कंपाइलर में कम से कम एक प्रासंगिक चेतावनी भी है। –
aschepler