我正在尝试从python实例化用C ++编写的类。出于某种原因,调用“ 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;
};
}
最佳答案
将方法的名称从“打印”更改为“显示”可解决此问题。
另外,可以使用(原始字符串r'...')
clr.AddReferenceToFileAndPath(r'c:\ users \ pletzer \ documents \ visual studio \ Projects \ AlexTest \ Debug \ AlexTest.dll')
避免必须输入双反斜杠
关于c++ - ironpython在python中实例化C++类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25050596/