2012년 6월 17일 일요일

C#에서 C++/CLI함수 호출시 배열 변수를 레퍼런스 인자로 넘기기

C++/CLI 문법이 이도 저도 아니고 제대로 써보는것은 이번이 처음이라, 배열을 레퍼런스로 넘기기위한 문법으로 몰라 삽질을 했었다.

코드는 아래와 같다.


C#
·미리보기 | 소스복사·
  1. public class CSClass  
  2. {  
  3.     private void Test()  
  4.     {  
  5.         CLIClass w = new CLIClass();  
  6.   
  7.         CLIStruct[] arr = null;  
  8.   
  9.         w.Test(ref arr);  
  10.     }  
  11. }  

C++/CLI
·미리보기 | 소스복사·
  1. public value struct CLIStruct  
  2. {  
  3.     int data;  
  4. };  
  5.   
  6. public ref class CLIClass  
  7. {  
  8. public:  
  9.     void Test(cli::array<CLIStruct>^ %arr)  
  10.     {  
  11.         arr = gcnew cli::array<CLIStruct>(10);  
  12.           
  13.         ...  
  14.     }  
  15. };  

삽질 한 부분은 C++/CLI 코드의 9번째 줄. 저런식의 문법을 몰랐던것. 쩝.

댓글 없음:

댓글 쓰기