gpt4 book ai didi

c++ - 如何在实例化数组类后插入整个数组 [C++]

转载 作者:行者123 更新时间:2023-11-30 03:42:30 35 4
gpt4 key购买 nike

我有一个名为 MATRIX 的类,其中包含 element[4][4] 数组和一些其他用于加法、减法等的函数。

我想从 main 函数将整个数组值插入到矩阵中,但我总是出错。

代码如下:

class MATRIX
{
public:
float ele[4][4];
float rows;
float cols;

MATRIX Add(MATRIX m);
MATRIX Subtract(MATRIX m);
MATRIX Multiply(MATRIX m);
MATRIX Transpose();
MATRIX Initialize();
};

int main(int argc, char ** argv){

float x_angle = 0, y_angle = 0, z_angle = 0;
MATRIX xRotation, yRotation, zRotation;

xRotation.ele = {
{ 1, 0, 0, 0 },
{ 0, cosf(x_angle), -sinf(x_angle), 0 },
{ 0, sinf(x_angle), cosf(x_angle), 0 },
{ 0, 0, 0, 1 } };
}

错误信息告诉我表达式必须是一个可修改的左值

最佳答案

您尝试添加值的方式意味着用于初始化,这不是您的情况。您可以使用 std::copy

float array[4][4] = {
{ 1, 0, 0, 0 },
{ 0, cosf(x_angle), -sinf(x_angle), 0 },
{ 0, sinf(x_angle), cosf(x_angle), 0 },
{ 0, 0, 0, 1 }
};


std::copy(&array[0][0], &array[0][0]+(4*4), &xRotation.ele[0][0]);

关于c++ - 如何在实例化数组类后插入整个数组 [C++],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36788094/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com