【发布时间】:2012-01-17 04:35:54
【问题描述】:
我创建了一个向量图并按如下方式填充它。这是代码。我无法发布原始代码。它包含双精度向量
map <int, vector <double> > Maptest;
for (int i = 0 ; i < ID1; i++)
{
for (int j = 0 ; j < ID2; j++)
{
Maptest[i].push_back(j*0.01);
}
}
map <int, vector <double> >::iterator MaptestITR;
CString testString;
for ( j = 0 ; j < ID2; j++)
{
for (i = 0 ; i < ID1; i++)
{
MaptestITR = Maptest.find(i);
if (MaptestITR != Maptest.end())
{
testString.Format(_T("%f",MaptestITR->second.at(j)));
}
myfile << testString<< ',' ;
}
}
但所有值都更新为“0”(testString 为“0”)。在 IDE 中,值正确显示在 Watch 中。
我在这里缺少什么?
【问题讨论】:
-
可能需要修正您的格式。
-
也许你可以发布一个小的、可编译的例子来说明问题。
-
很难理解你的问题,因为代码不完整,我们无法编译。请发布更多代码,以便我们有一些可以用来帮助您的上下文。
-
另外,我不确定,但我从未在 STL 中看到过名为“CString”的类,尽管我可能记错了。这是来自 MFC 库吗?如果是这样,你能相应地标记它吗?
-
我真的很抱歉,因为我没有看到代码。我已经更正了代码示例。请参考。顺便说一句,IDE 按照 Watch 的预期显示 MaptestITR 的值,但我无法正确访问它。