VC++.NETで開発していますC++初心者です。
現在、Form1にあるrichTextBoxの内容を検索・強調表示する機能を作っているのですが、
Form1から検索ワード入力用フォームを表示させる方法がわからずに困っています。
---Form1------------
Form2 searchForm = new Form2();
等、いろいろ試したのですがエラーが止まりません。解決方法ご存知の方、ご教授お願いします。
> VC++.NET
VC2002または2003のマネージド拡張プログラムだと仮定します。
Form2* searchForm = __gc new Form2();
Managed C++ 以前にC++の基本的な構文を勉強したほうがよいでしょう。
(newが返すものはポインタです。C#とはちがうよ。)
ちなみに、__gcはあってもなくてもいいです。
しつこく__gcを書くならば
Form2 __gc * searchForm = __gc new Form2();
シンプルに書くならば、
Form2* searchForm = new Form2();
です。
> VC2002または2003のマネージド拡張プログラムだと仮定します。
すみません情報不足でした、VC2003のマネージド拡張です。
> Form2* searchForm = new Form2();
newがポインタを返すのははじめて知りました。ありがとうございます。
蛇足
> ちなみに、__gcはあってもなくてもいいです。
私は、C++のnewと区別する意味でもつけたほうがベターだと思います。
(マネージドされていないポインタと区別するため)
VC2005からは、MC++はC++/CLIという風になってより(私的に)扱いやすくなっています。
Form2 __gc * searchForm = __gc new Form2();
↓
Form2 ^ searchForm = gcnew Form2();
ツイート | ![]() |