0

エラー メッセージは表示されません。単にベクターが読み込まれていません。ウォッチリストのベクターを見ると、何もコピーされていません。どうしてこれなの?私は2つの方法を試しました。最初

std::vector<Point3D*>   hitpoints;
local_hit_point = sr.local_hit_point; //local_hit_point class Point3D 
hitpoints.push_back(local_hit_point);

ポインターを使用しようとした2番目の方法

std::vector<Point3D*>   hitpoints; 
Point3D* hittingpoint_ptr = new Point3D;
local_hit_point = sr.local_hit_point;
hittingpoint_ptr = &local_hit_point;
hitpoints.push_back(hittingpoint_ptr);

コード内の他の場所で機能するベクトルを取得しました。私は本当に馬鹿げているだけなのですが、なぜ機能しないのか理解できないようです。

4

2 に答える 2

0

私の最善の推測は、デバッガーに問題があるということです..

最初の提案;

  • 実行の動作を変更できるため、ウォッチリストのすべてをクリアして、もう一度確認してください..

2番目の提案;

  • 新しいプロジェクトを作成し、上記のような単純なコードを記述して、ベクターが生成されるかどうかを確認します.この単純なプロジェクトが機能する場合は、より多くのコードと詳細を提供してください.
于 2012-04-07T12:43:11.650 に答える
0

単純に私のベクトルが入力されていません。

人口が増えています。でも

ウォッチリストでベクターを見てみると… hitpoint.size() を使っていました

関数/メソッド呼び出しの結果 (size() はメソッドです) は、Visual Studio ウォッチ リストで自動的に更新されません (使用する OS/コンパイラを教えていないため、Visual Studio であると想定する必要がありました)。つまり、ウォッチ リストに関数呼び出しを入力すると、結果が計算されますが、手動で更新するまで関数は再度呼び出されません。関数呼び出しの代わりに、ベクター自体をウォッチ リストに追加します。

于 2012-04-07T12:52:23.323 に答える