2017-04-04 50 views
2

如果我宣布一个值作为glm::vec3 myVector;我能够只检查 安全,它是通过做检查GLM :: VEC3已被设置

if (!myVector) { 
    setVector(myVector); 
} 

空或者是有一种方法来设置glm::vec3值以空,而不必设置每个值设置为null

+0

'glm :: vec3'是3个浮点元素的向量,它没有__null__的概念。 –

+0

@RichardCritten没有GLM有一些默认的构造函数为它默认值或是它只是一个typedef为3浮点 – FrickeFresh

回答

1

在声明矢量作为

glm::vec3 myVector; 

它没有得到初始化,你需要为声明:

glm::vec3 myVector(0.0); 

要得到正确初始化为0。

BTW:

if (!myVector) { //It is always false, because, it is a reference to a local variable, not a pointer. 

Cited

如果向量构造函数有一个单一的标量参数,它是 用于初始化所有组件ts的构造向量的标量值为 。

+0

你建议什么,而不是创建一个布尔值来检查它是否已设置为我不想给它是一个值,因为所有的值都是可能的 – FrickeFresh