0

C# で作成された単純な C++ クラスをメソッドを介して C++ WinRT コンポーネントに渡そうとしていますが、それを行う方法とそれが可能かどうかさえわかりません。

このカスタム クラスを C++ で作成しました ( https://msdn.microsoft.com/en-us/library/hh441569.aspxから) 。

namespace CppComponent
{
    // Custom struct
    public value struct PlayerData
    {
        Platform::String^ Name;
        int Number;
        double ScoringAverage;
    };

    public ref class Player sealed
    {
    private:
        PlayerData m_player;
    public:
        property PlayerData PlayerStats 
        {
            PlayerData get(){ return m_player; }
            void set(PlayerData data) {m_player = data;}
        }
    };
}

C# で作成して操作できるので、うまくいきます。int または Platform::String を返す他のメソッドを使用することもできます。

しかし、C++ のようなメソッドでどのように使用できますか? (および戻り値の型として)

in .cpp file:
Platform::String^ CppComponent::DoSomething(Platform::String^ input, Player  myCustomClass)
{

in .h file:
Platform::String^ DoSomething(Platform::String^ input, Player myCustomClass);

「Player myCustomClass」を正しく取得する方法はありますか?

PS: https://github.com/cmusphinx/pocketsphinx-wp-demoに取り組んでいます

4

1 に答える 1

0

私はすでに近くにいたことがわかりました。

de struct と class を .h ファイルに入れ、次のように Player の代わりに Player^ を使用しました。

Platform::String^ CppComponent::DoSomething(Platform::String^ input, Player^ myCustomClass)
于 2016-03-03T18:48:03.017 に答える