Your initialization code
diff = IloExprArray(iloEnv, list.size())
creates an array of empty handles. Handles are essentially ILOG's smart pointers. When you do a += on an empty handle, you are essentially doing it on a null pointer. You need to initialize all the handles.
for (int i = 0; i < list.size(); ++i)
diff[i] = IloExpr(iloEnv);
There are other suspicious parts of your code that could be causing you trouble. For example, the outer for-loop runs from 1 to 10, and you use list.size() as the length of diff, but your is for (j = 0; j< 9; ++j)
instead of for (j = 0; j < list.size(); ++j)