自定义了一个结构体A,然后vector<A> vt;  vt能用作函数参数传递吗? 在不同DLL之间传递

解决方案 »

  1.   

    只要你的dll和你调用的工程都声明了A以及include了vector
      

  2.   

    可以例如:bool CJoblogAccess::GetJobLogFromWin( 
         vector<JOBLOG_SEND_INFO>& vecSendInfo
                                         );
      

  3.   

    不建议跨Dll传。
    可以传普通类型,容器型的Class跨Dll传递会有问题。
    你可以拆分下,GetSize(),GetElementAt()这种比较好一点.
      

  4.   

    可以在不同dll之间,不过一般要注意vector这一类对象在跨模块传递接口时有一些问题,比如运行时库不一致等。最好用指针,然后自己再内部转换
      

  5.   

    可以作为参数传递,但是显然传指针或引用好。
    不建议跨Dll传,如果非要跨DLL传得话,记着不要在跨DLL中对该vector引用参数进行增加和删除,该参数只能作为只读的方式进行传递.
      

  6.   

    跨DLL的问题是,另一个模块的标准库实现细节不同,就此糟糕。要保证两个模块使用同样的标准库编译。