EG>Comeau говорит (и правильно, на мой взгляд) об использовании неинициализированных переменных i и j (но это предупреждение) и о том, что operator[] для const SampleClass не определен (а это ошибка).
Это просто минимальный код вызывающий ту же ошибку.
На самом деле он выглядит так:
void TFloatGrid::Resample(const TFloatVector& Nodes, const TFloatVector& Values)
{
TFloat SL,SR,DL,DR;
//
m_Values.Fill(0.0);
TIndex j = 0;
for (TIndex i = 0; i < Nodes.GetSize()-1; i++)
{
SL = Nodes[i];
SR = Nodes[i+1];
do
{
if (j>=(m_Nodes.GetSize()-1)) return;
DL = m_Nodes[j];
DR = m_Nodes[j+1];
if (SR<=DL) break; // [A---B] [C---D]
if (SL>=DR) { j++; continue; } // [C---D] [A---B]
if ((SL==DL)&&(SR==DR)) { m_Values[j++] = Values[i]); break; } // [AB---CD]
if (SL<DL)
{
if (SR<DR)
{ // [A--[C-B]--D]
m_Values[j] = m_Values[j] + Values[i]*(SR-DL)/(DR-DL);
break;
}
else
{ // [A-[C---D]-B]
m_Values[j++] = m_Values[j]+Values[i];
}}
else
{
if (SR<DR)
{ // [C-[A---B]-D]
m_Values[j] = m_Values[j]+Values[i]*(SR-SL)/(DR-DL);
break;
}
else
{ // [C--[A-D]--B]
m_Values[j++] = m_Values[j]+Values[i]*(DR-SL)/(DR-DL);
}}}
while (TRUE);
}
}
А вот const оператор это видимо то самое и есть, чего не хватало.