0
System::DateTime ^now = System::DateTime::Now;
System::DateTime ^now2 = System::DateTime::Now;
System::TimeSpan ^span = now->Subtract(now2);

上記のコードでは、コンパイラ エラーが発生します。

test.cpp(104) : error C2664: 'System::TimeSpan System::DateTime::Subtract(System::DateTime)' : cannot convert parameter 1 from 'System::DateTime ^' to 'System::DateTime'  
1>        No user-defined-conversion operator available, or  
1>        No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called  

now と now2 は c++/cli ハンドルですが、メソッドは実際のオブジェクトを想定しています。c++/cli からメソッドを呼び出す正しい方法は何ですか?

4

2 に答える 2

4

DateTimeおよびTimeSpanは値型です。

System::DateTime now = System::DateTime::Now; 
System::DateTime now2 = System::DateTime::Now; 
System::TimeSpan span = now.Subtract(now2); 
于 2012-06-09T18:21:54.840 に答える
0

System::Diagnostics::Stopwatch^ stopwatch = gcnew System::Diagnostics::Stopwatch();
stopwatch->Start();
// code
stopwatch->Stop();
// stopwatch->Elapsed
于 2015-08-04T07:01:35.453 に答える