ironpy在python中实例化C ++类

时间:2014-07-31 03:54:56

标签: c++ ironpython

我试图用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;
    };
}

1 个答案:

答案 0 :(得分:1)

将方法名称从“打印”更改为“显示”可解决此问题。

另外,可以使用(原始字符串r'...')

clr.AddReferenceToFileAndPath(r'c:\ users \ pletzer \ documents \ visual studio \ Projects \ AlexTest \ Debug \ AlexTest.dll')

避免输入双反斜杠