>>导入clr >>>clr.addReferenceOfileandPath('c:\\users\\pletzer\\documents\\visual studio >>>\\Projects\\AlexTest\\Debug\\AlexTest.dll') >>>进口于 >>>a=在试验(2)时 >>>a.印刷品() 文件“”,第1行 a、 打印() ^,c++,ironpython,C++,Ironpython" /> >>导入clr >>>clr.addReferenceOfileandPath('c:\\users\\pletzer\\documents\\visual studio >>>\\Projects\\AlexTest\\Debug\\AlexTest.dll') >>>进口于 >>>a=在试验(2)时 >>>a.印刷品() 文件“”,第1行 a、 打印() ^,c++,ironpython,C++,Ironpython" />

ironpython实例化C++;python中的类 我试图用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() ^ .NET4.0.30319.18444(32位)上的IronPython 2.7.5b2(2.7.5.0) 有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。 >>>导入clr >>>clr.addReferenceOfileandPath('c:\\users\\pletzer\\documents\\visual studio >>>\\Projects\\AlexTest\\Debug\\AlexTest.dll') >>>进口于 >>>a=在试验(2)时 >>>a.印刷品() 文件“”,第1行 a、 打印() ^

ironpython实例化C++;python中的类 我试图用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() ^ .NET4.0.30319.18444(32位)上的IronPython 2.7.5b2(2.7.5.0) 有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。 >>>导入clr >>>clr.addReferenceOfileandPath('c:\\users\\pletzer\\documents\\visual studio >>>\\Projects\\AlexTest\\Debug\\AlexTest.dll') >>>进口于 >>>a=在试验(2)时 >>>a.印刷品() 文件“”,第1行 a、 打印() ^,c++,ironpython,C++,Ironpython,语法错误:语法错误 提前谢谢你的建议。C++类是 // AlexTest.h #include <iostream> #pragma once using namespace System; namespace at { public ref class AlexTest { public: AlexTest(int i) { mi = i; } void print() {

语法错误:语法错误

提前谢谢你的建议。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;
    };
}
//AlexTest.h
#包括
#布拉格语一次
使用名称空间系统;
命名空间位于{
公共参考类测试
{
公众:
测试(int i){
mi=i;
}
作废打印(){

std::cout将方法的名称从“print”更改为“display”可以解决此问题

此外,还可以使用(原始字符串r'…'))

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


为了避免必须键入双反斜杠

原因是,
print
是(Iron)Python 2中的一个关键字,因此不能用作成员名称。