c++ - Invalid conversion from 'void*' to 'char*' when using mmap() -
मेरे पास निम्न है:
char * filename; अहस्ताक्षरित लंबे लंबे इंट बाइटटॉट्रांसफर; इंट एफडी, पेजेज़; चार * डेटा; fd = खुला (फ़ाइल नाम, O_RDONLY); अगर (एफडी == नल) {fputs ("फ़ाइल त्रुटि", stderr); बाहर निकलें (1);} सीओएटी & एलटी; & lt; "फ़ाइल खोलें:" & lt; & lt; फ़ाइल नाम & lt; & lt; endl; पेजेज़ = मिलना (); डेटा = एमएएमएप ((caddr_t) 0, बाइट्सटोट्रांसफर, PROT_READ, MAP_SHARED, एफडी, 0); यदि (* डेटा == -1) {fputs ("मेमोरी त्रुटि", stderr); बाहर निकलें (2);} सीओएटी & एलटी; & lt; "भेजने के लिए डेटा:" & lt; & lt; डेटा & lt; & lt; endl; लेकिन जब मैं संकलित करता हूं, तो मुझे प्राप्त होता है:
त्रुटि: अमान्य रूपांतरण "शून्य" * से करने के लिए एक चार वर्ण * [-fpermissive] डेटा = एमएमएपी ((caddr_t) 0, बाइट्सटोट्रांसर, PROT_READ, MAP_SHARED, एफडी, 0);
क्या कोई मुझे गलत क्या है पर एक संकेत दे सकता है? < सी / + शून्य * से अंतर्निहित कच्छा निष्पादित नहीं करता है, आपको यह स्पष्ट करना होगा डेटा = स्थैतिक_कास्ट & lt; char * & gt; (mmap (caddr_t) 0, बाइट्स टॉट्रांसर, PROT_READ, MAP_SHARED, fd, 0));
Comments
Post a Comment