teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

文言

2021/06/30 05:31

投稿

int32_t
int32_t

スコア21933

answer CHANGED
@@ -1,4 +1,4 @@
1
- C++で、型のキャストがないとコンパイルができないようなら、(よほど確信がない限り)何かまずいと思ってください。また、キャストするときもC形式の `(型名)値` ではなく、`static_cast<型名>(値)` などを使ってください。
1
+ C++で、型のキャストがないとコンパイルができないようなら、(よほど確信がない限り)何かまずいと思ってください。**キャストで無理やり型を合わせても動くことはほとんどありせん**。また、キャストするときもC形式の `(型名)値` ではなく、`static_cast<型名>(値)` などを使ってください。
2
2
 
3
3
  https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glShaderSource.xhtml
4
4
  > Specifies an array of pointers to strings containing the source code to be loaded into the shader.

2

文言

2021/06/30 05:31

投稿

int32_t
int32_t

スコア21933

answer CHANGED
@@ -1,3 +1,8 @@
1
1
  C++で、型のキャストがないとコンパイルができないようなら、(よほど確信がない限り)何かまずいと思ってください。また、キャストするときもC形式の `(型名)値` ではなく、`static_cast<型名>(値)` などを使ってください。
2
2
 
3
+ https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glShaderSource.xhtml
4
+ > Specifies an array of pointers to strings containing the source code to be loaded into the shader.
5
+
6
+
7
+
3
- この場合、`glShaderSource()` が欲しいのは`GLchar`文字列の配列だそうです。`frag->data()` は `GLchar`文字列ですが、文字列の配列ではないですよね。`GLchar*`の1要素の配列を作って、`frag->data()` を入れて、配列を `glShaderSource()` に渡すのが素直だと思います。
8
+ この場合、`glShaderSource()` が欲しいのは`GLchar*`の配列だそうです。`frag->data()` は `GLchar*`ですが、 「`GLchar*`の配列ではないですよね。`GLchar*`の1要素の配列を作って、`frag->data()` を入れて、配列を `glShaderSource()` に渡すのが素直だと思います。

1

文言

2021/06/30 05:20

投稿

int32_t
int32_t

スコア21933

answer CHANGED
@@ -1,3 +1,3 @@
1
1
  C++で、型のキャストがないとコンパイルができないようなら、(よほど確信がない限り)何かまずいと思ってください。また、キャストするときもC形式の `(型名)値` ではなく、`static_cast<型名>(値)` などを使ってください。
2
2
 
3
- この場合、`glShaderSource()` が欲しいのは`GLchar`文字列の配列だそうですから、`GLchar*`の1要素の配列を作って、`frag->data()` を入れて、配列を `glShaderSource()` に渡すのが素直だといます。
3
+ この場合、`glShaderSource()` が欲しいのは`GLchar`文字列の配列だそうです。`frag->data()` は `GLchar`文字列ですが文字列の配列ではないですよね。`GLchar*`の1要素の配列を作って、`frag->data()` を入れて、配列を `glShaderSource()` に渡すのが素直だといます。