通知
すべてクリア
Topic starter
2006年4月13日 1:35 AM
いつもお世話になっております。
COleVariantにCStringの一文字を代入したいのですが、
「error C2593: 'operator =' があいまいです。」
のエラーが出ます。
ご教授いただければ幸いです。
以下ソース
CString str = 123456789;
COleVariant var;
var = str[5];←ここでエラー
環境は VC++6.0 WinXp SDIです。
2006年4月13日 1:59 AM
文字の '6' なのか、
それとも文字列の 6 なのかどちらでしょうか?
文字列であれば、
var = str.Mid(5,1);
文字であれば、operater= が用意されていないので、
var.cVal = str[ 5 ];
var.vt = VT_I1;
でしょうかね。(あっている自信なし)
2006年4月13日 4:10 PM
表題と内容に差異があるように思います。
イシュザークさんが書かれているコードだとCStringを代入しているのではなくて
TCHARを代入していると思います。Blueさんも書かれていますが、TCHARの場合、
UNICODEの使用を定義していないとcharになったと思うので対応するoperater=が
用意されていません。
題名の通りであるならば、CString::Midを使うべきだと思います。