У меня в коде есть такая строка temp3(k,j)^=temp3(i,j);, temp3 это матрица типа double. При компиляции выводится такая ошибка:
***.cpp:128:22: error: invalid operands of types ‘double’ and ‘double’ to binary ‘operator^’ temp3(k,j)^=temp3(i,j); ^ mymain.cpp:128:22: error: in evaluation of ‘operator^=(double, double)’
Помогите исправить ошибку.
UPDATE вот вся функция:
for (int i=0; i<n; i++)
{
if (temp3(i,i)==0)
for (int j=i+1; j<n; j++)
{
if (temp3(j,i)==1)
{
for (int k=0; k<2*n; k++)
{
int c=temp3(j,k);
temp3(j,k)=temp3(i,k);
temp3(i,k)=c;
}
break;
}
}
for (int k=i+1; k<n; k++)
{
if (temp3(k,i)==1)
{
for (int j=0; j<2*n; j++)
{
temp3(k,j)^=temp3(i,j);
}
}
}
}
for (int i=n-1; i>=0; i--)
{
for (int k=i-1; k>=0; k--)
{
if (temp3(k,i)==1)
{
for (int j=0; j<2*n; j++)
temp3(k,j)^=temp3(i,j);
}
}
}
return (temp3);
}
double- ну, например, что такое3.14^2.72? – Harry Dec 04 '17 at 17:24