c # — CLR создает новую функцию с другими аргументами для моего импортированного кода C ++

using namespace ParasolidAssembly;

AssemblyClass::AssemblyClass() {
bool startParasolid();
bool stopParasolid();
};
void AssemblyClass::Perform(string FileName) {
bool bScale = true;

// Var
PK_ERROR_t error;
int nParts, nGeoms;

Это оригинальная функция, определенная в коде C ++ и импортированная в приложение C # с использованием пространства имен Parasolidassembly. Но не в состоянии использовать функцию Perform только с строковым аргументом, поскольку создается другое определение для функции, например …

amespace ParasolidAssembly
{
public class AssemblyClass : IDisposable
{
public AssemblyClass();

public override sealed void Dispose();
protected virtual void Dispose(bool A_0);
public void Perform(std.basic_string_char,std::char_traits_char_,std::allocator_char_ _* FileName);
public bool startParasolid();
public bool stopParasolid();
}
}

Это в файле с именем Assemblyclass (из метаданных), что приводит к ошибке
Ошибка 144 Наилучшее совпадение перегруженного метода для ‘ParasolidAssembly.AssemblyClass.Perform (std.basic_string, std :: allocator> *)’ имеет недопустимые аргументы C: \ Users \ ranjith \ Desktop \ ifab_assembly \ GraphSynthConsole \ AssemblySearch1.cs 34

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]