2011-10-10 13 views
12

में एक बाइट [] से सी # को वापस कैसे करें I मूल C++ dll को लपेटने के लिए C++ CLR का उपयोग कर रहा हूं। ताकि सी ++ सीएलआर डीएल को सी # प्रोजेक्ट द्वारा एक्सेस किया जा सके।सी ++ सीएलआर

static System::Byte[]^ GetTestByteBuffer() 
{ 
    System::Byte[]^ byte = gcnew System::Byte[128]; 
    return byte; 
} 

लेकिन यह संकलन पारित नहीं कर सकते हैं:

समस्या यह है कि जब मैं CLR में एक बाइट [] सी # करने के लिए इस तरह के कोड को वापस, और लिखना चाहते है। कोई मुझे मदद कर सकता है?

संकलन त्रुटि:

error C3409: empty attribute block is not allowed 
error C3409: empty attribute block is not allowed error C2146: syntax error "^": 
error C2334: unexpected token(s) preceding '{'; skipping apparent function 
+1

"संकलन पारित नहीं हो सकता" - मुझे नहीं लगता कि आप हमें कुछ प्रकार का विचार दे सकते हैं कि संकलन त्रुटि क्या है? –

+0

आपके उत्तर के लिए धन्यवाद! यहां संकलन त्रुटि है: त्रुटि C3409: खाली विशेषता ब्लॉक को त्रुटि C3409 की अनुमति नहीं है: खाली विशेषता ब्लॉक को त्रुटि की अनुमति नहीं है C2146: वाक्यविन्यास त्रुटि "^": त्रुटि C2334: अप्रत्याशित टोकन '{' से पहले; स्पष्ट कार्य छोड़ना – Spark

उत्तर

24

यह वह जगह है जिस तरह से आप C++/CLI में एक बाइट सरणी की घोषणा:

array<System::Byte>^ 

गूगल अपने दोस्त है ...

+0

आप सही हैं, बहुत धन्यवाद! – Spark

+36

Google ने मुझे यहां लाया। – rulestein

संबंधित मुद्दे