如何访问n';第三项 我不熟悉C++语法,但需要编写几个基本的代码行。 float3 myValue = (1.0f,2.0f,3.0f); float output = myValue[0]; print(output);

如何访问n';第三项 我不熟悉C++语法,但需要编写几个基本的代码行。 float3 myValue = (1.0f,2.0f,3.0f); float output = myValue[0]; print(output);,c++,C++,这段代码将返回3.0,而不是我预期的1.0。 因此,我的问题是如何获取float3的第n项?看起来您正试图从类型float3构造一个对象。如果没有该类型的详细信息,我只能推测该类型有一个接受三个浮点的构造函数,因此所需的语法是 float3 myValue(1.0f,2.0f,3.0f); 否则,如果您想要的是一个大小为3的浮点数组,您可以这样定义它: float myValue[3] = {1.0f, 2.0f, 3.0f}; 注意C++标准库为您提供了一个方便的、可分配的、使用起来更方便

这段代码将返回3.0,而不是我预期的1.0。
因此,我的问题是如何获取float3的第n项?

看起来您正试图从类型
float3
构造一个对象。如果没有该类型的详细信息,我只能推测该类型有一个接受三个浮点的构造函数,因此所需的语法是

float3 myValue(1.0f,2.0f,3.0f);
否则,如果您想要的是一个大小为3的浮点数组,您可以这样定义它:

float myValue[3] = {1.0f, 2.0f, 3.0f};

注意C++标准库为您提供了一个方便的、可分配的、使用起来更方便的数组容器:

std::array<float, 3> myValue{1.0f, 2.0f, 3.0f};
std::数组myValue{1.0f、2.0f、3.0f};

您很可能想要一个由3个浮点组成的数组,但您正试图用3个
浮点3
创建此数组

您可以使用其构造函数(如果已定义)创建
float3

或者创建一个由3个浮点数组成的数组:

float myValue[3] = { 1.0f, 2.0f, 3.0f};
现在你可以使用

float output = myValue[0];  // to get first element of the container of 3 floats

定义

 float myValue = (1.0f,2.0f,3.0f);
仅将最后一个表达式赋给变量,因为在C++(和C)中,它计算第一个操作数并丢弃结果,然后计算第二个操作数并返回此值(和类型)

注意,您可能会考虑使用高效、专门化的标准容器,以便于处理内存


<> >代码>:ST::向量< /> >或<代码> STD::数组< /COD>

<代码> FLUAT3不是标准C++类型。它的定义是什么?有文件吗?你能读懂头文件吗?哦。。。怎么会是30?@user2339945那是个打字错误。更正。
 float myValue = (1.0f,2.0f,3.0f);