我有以下 C++/CLI 片段:
.h
#pragma unmanaged
#include <vector>
public delegate std::vector<std::wstring> XYZ(const std::wstring& filter);
.cpp
XYZ^ xyz = gcnew XYZ(&myClass::xyzFunc); // <-error C2065 + C2061
在这种情况下,我在这一行遇到两个错误:
错误 C2065:“xyz”:未声明的标识符
错误 C2061:语法错误:标识符 'XYZ'
但是,如果我将委托返回类型从 vector -> wstring 更改(例如),它就可以工作!
public delegate std::wstring XYZ(const std::wstring& filter); // <-- w/o vector<> , works!
有谁知道是什么问题?非常感激!