2009-08-25 14 views
0

私はリフレクターでc#をC++に変換しようとしています。コードは、コンパイル済みの解体と再構築されたコードは、このエラーを生成している:私はC++の構文に慣れていない午前のようC++パブリック関数の構文エラー

1>c:\users\user\documents\visual studio 2008\projects\reflect_readoo\reflect_readoo\readoo.cpp(2) : error C2059: syntax error : 'public'

1>c:\users\user\documents\visual studio 2008\projects\reflect_readoo\reflect_readoo\readoo.cpp(2) : error C2143: syntax error : missing ';' before '{'

1>c:\users\user\documents\visual studio 2008\projects\reflect_readoo\reflect_readoo\readoo.cpp(2) : error C2447: '{' : missing function header (old-style formal list?)

私はこれらのエラーを開始する場所を100%わかりません。私が試した最初のことは、複雑なコードをすべて削除して、名前空間内の1つのクラスであることだけをすべてのものにすることでした。< < "test";名前空間とクラスの中で。 (これは、すべての関数を含むすべての関数を使って、数百万の新しいエラーを引き起こす) "ref"キーワードを削除しましたが、clrフラグを付けてコンパイルすると、私が何をしようとしているのか

誰もが私が最初に頭を下げることができるテストのパスをお勧めできますか?それ以外の場合は、Windows.form C#プログラムをアンマネージC++に変換するより良い方法をお勧めしますか?私はちょうどそれを自分でしなければならない? (とにかくこれをやってみたいですが、ちょっとしたことがあり、その違いをすぐに見てすぐに見ることができ、私自身のためにプログラムを必要とするのは大きな助けになるでしょう)。

ご協力いただきありがとうございました。

私はプレゼンテーション側での難しさを理解していますが、私は実際にそれが動作することを期待していなかった、私は夢のような希望から尋ねました。しかし、私はもともとはコンソールアプリケーションだったアプリケーションの "バックエンド"を翻訳したいと思います。私は単に私のWindowsフォームデザインにクラスファイルとして追加しました。それは約1000行のこのクラスだけです。

スニペット:そのため

public ref class RProgram { 
    public: 
     static System::String ^KeywordsLog = "Keywords.log"; // WHERE THE PROGRAM KEEPS ITS LOG 

// classes. . . functions. . . the errors are reported on the first lines 

}; 

その後、私は理解し、私はその後、想定不可能を認め、誰かが私はマネージCとしてのコンパイルを妨げるエラーを解決するのに役立ち喜ばせるように親切にすることができ++?

+0

生成されたC++のスニペットをリストできますか?それはかなり簡単なもののように聞こえる。 –

答えて

4

あなたは合理的な複雑なWindowsが管理されていないのC++へのC#からフォームアプリケーションを変換は非常に困難な時期を持っているつもりです。

.NET Frameworkフレームワークにアクセスすることはできません。つまり、Windowsフォームはありません。あなたはMFCのようにあなたのウィンドウ用に別のAPIを選択する必要があります。

これは一般に、アプリケーションのアーキテクチャを完全に再構築する必要があることを意味します。私の通常の経験則は、これをやることを邪魔することではないでしょう。あなたは実用的なアプリケーションを持っているだけです。

+0

+1あなたのツールはC++/CLIに変換するように設計されており、アンマネージC++には変換されていないようです。 –