Trying to deal with variant arrays in c ++.
Code:
VARIANT v; SAFEARRAYBOUND rgb[] = {10,0}; v.vt = VT_ARRAY | VT_VARIANT; v.parray = SafeArrayCreate(VT_VARIANT,1,rgb); long *rgelems; SafeArrayAccessData(v.parray, (void**)&rgelems); for (int c = 0; c < 10; c++) {rgelems[c] = c*100;} SafeArrayUnaccessData(v.parray); for (int c = 0; c < 10; c++) {std::cout << rgelems[c] << " ";} Excel::RangePtr pRange = OldSheet->Range["A1"]["A10"]; pRange->Value2 = rgelems; I do not understand the compiler
warning C4800: long *: the boolean value is "true" or "false"
(performance warning) - refers to the string
Range->Value2 = rgelems; And in Excel, the value TRUE is written to the specified range, although normal values ​​are output to the console. What is the problem? Thanks for answers.
Value2? - VladD