COleVariantにCStringの代入 – プログラミング – Home

通知
すべてクリア

COleVariantにCStringの代入


イシュザーク
 イシュザーク
(@イシュザーク)
ゲスト
結合: 19年前
投稿: 2
Topic starter  

いつもお世話になっております。

COleVariantにCStringの一文字を代入したいのですが、
「error C2593: 'operator =' があいまいです。」
のエラーが出ます。

ご教授いただければ幸いです。

以下ソース

CString str = 123456789;
COleVariant var;

var = str[5];←ここでエラー

環境は VC++6.0 WinXp SDIです。


引用解決済
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 21年前
投稿: 1467
 

文字の '6' なのか、
それとも文字列の 6 なのかどちらでしょうか?

文字列であれば、

var = str.Mid(5,1);

文字であれば、operater= が用意されていないので、

var.cVal = str[ 5 ];
var.vt = VT_I1;

でしょうかね。(あっている自信なし)


返信引用
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

表題と内容に差異があるように思います。
イシュザークさんが書かれているコードだとCStringを代入しているのではなくて
TCHARを代入していると思います。Blueさんも書かれていますが、TCHARの場合、
UNICODEの使用を定義していないとcharになったと思うので対応するoperater=が
用意されていません。

題名の通りであるならば、CString::Midを使うべきだと思います。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました