2017-04-04 91 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

相關問題