Edit: As hivert correctly pointed out in the comment section, this problem doesn't exist when you are using C++11. The solution below applies to older compilers though.
Since CBLAS_ORDER
and CBLAS_TRANSPOSE
are enums, not classes/namespaces, they don't introduce the scope. That's why you should remove the name qualifiers:
cblas_dgemv(CblasRowMajor, transpose ? CblasTrans : CblasNoTrans, rows, cols, 1.0, m, cols, v, 1, 0.0, vout, 1);
However, VC compiler should compile this code, but it should also print some warning.