Ironpython создания C ++ класса в Python

Я пытаюсь создать экземпляр класса, написанного на C ++ из Python. По какой-то причине я получаю синтаксическую ошибку при вызове метода «print», который не принимает аргументов и должен просто напечатать int:

IronPython 2.7.5b2 (2.7.5.0) on .NET 4.0.30319.18444 (32-bit)
Type "help", "copyright", "credits" or "license" for more information.
>>> import clr
>>> clr.AddReferenceToFileAndPath('c:\\users\\pletzer\\documents\\visual studio
>>> \\Projects\\AlexTest\\Debug\\AlexTest.dll')
>>> import at
>>> a = at.AlexTest(2)
>>> a.print()
File "<stdin>", line 1
a.print()
^

SyntaxError: ошибка синтаксиса

Заранее спасибо за любое предложение. Класс C ++

// AlexTest.h

#include <iostream>
#pragma once

using namespace System;

namespace at {

public ref class AlexTest
{
public:
AlexTest(int i) {
mi = i;
}
void print() {
std::cout << "mi = i\n";
}
private:
int mi;
};
}

0

Решение

Изменение имени метода с «print» на «display» устраняет проблему.

Также можно использовать (необработанная строка r ‘…’)

clr.AddReferenceToFileAndPath (r’c: \ users \ pletzer \ Documents \ visual studio \ Projects \ AlexTest \ Debug \ AlexTest.dll ‘)

чтобы избежать необходимости вводить двойную косую черту

1

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


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