Можете ли вы помочь мне решить эту ошибку:
Значения, которые я передаю, это тип String ^, и я фактически передаю значения в классе шаблона, но показывает ошибку
Начнем с того, что вы пытаетесь передать имя пользователя управляемой памяти неуправляемой функции.
String^ s = gcnew String("sample string");
IntPtr ip = Marshal::StringToHGlobalAnsi(s);
const char* str = static_cast<const char*>(ip.ToPointer());
Console::WriteLine("(managed) passing string...");
NativeTakesAString( str );
Marshal::FreeHGlobal( ip );
ссылка: http://msdn.microsoft.com/en-us/library/22e4dash.aspx