C++ の Scripting.Dictionary に問題があります。スマート ポインターを介してインターフェイス IDictionary を使用しようとしていますが、オブジェクトを作成する方法が機能せず、その理由がわかりません。
CoInitialize(NULL);
IDictionaryPtr dict;
dict.CreateInstance(__uuidof(Dictionary));
_variant_t num1 = 1;
_variant_t num2 = 2;
dict->Add(&num1, &num2);
long i;
dict->get_Count(&i);
cout << i << "\n";
ただし、メソッド Add は機能せず、辞書内の要素の数は常に 0 です。その場合、Scripting.Dictionary を使用する方法は正しいです。PS .: #import "scrrun.dll" でスクリプト インターフェイスを取得しています。