我正在尝试从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/

10-15 17:20