I have the following code:
void CScriptTable::EnumReferences(asIScriptEngine *engine)
{
if (m_table)
{
// Call the gc enum callback for each nested table
size_t col = 0, row = 0, num_cols = m_table->numCols(), num_rows = m_table->numRows();
for( col; col < num_cols; col++ ) // Line 92
{
if (m_table->getColType(col) == COL_TABLE) {
for (row; row < num_rows; row++){ // Line 95
Table * tbl = m_table->getTable(row, col);
engine->GCEnumCallback(tbl);
}
}
}
}
}
When compiling, (g++), the warning (statement has no effect) is issued for line 92 & 95 (indicated in the snippet above)
I can’t see why they have no effect even though I have been staring at it for a while – could do with a second pair of eyes to see if they can spot what I’m missing.
If guess you want to iterate over all columns and for each of them over all rows. so better change your code to something like this:
The first statement in the for loop is executed once, i.e. at the time the loop is entered at first. Since you want to include row number zero for all further columns you have to set row to 0 for each column: