小编Ice*_*man的帖子

为什么我不能取消引用指向多维数组的指针?

基本问题..不得不问。任何帮助将不胜感激。

问:为什么我不能像这样取消指向多维数组的指针:

int arr [2][2] = { {1, 2} , {3, 4} };

printf("%d ", *arr); 
Run Code Online (Sandbox Code Playgroud)

c

4
推荐指数
1
解决办法
5507
查看次数

OpenGL ES - 使用glDrawArrays()

我正在将一些代码从OpenGL移植到ES版本.我正在使用glDrawArrays()来绘制一个三角形glVertexPointer().但是,它不会在屏幕上绘制.完整的代码是:

void init(void) 
{
    glClearColor (0.0, 0.0, 0.0, 0.0);
    glShadeModel (GL_FLAT);
}

void display(void)
{
    glEnableClientState (GL_COLOR_ARRAY);
    glClear (GL_COLOR_BUFFER_BIT);
    glColor4f (0.0, 0.0, 1.0, 1.0);
    glLoadIdentity ();           


    glTranslatef(0, 0, -20);


    const GLfloat triVertices[] = { 
        0.0f, 1.0f, 0.0f, 
        -1.0f, -1.0f, 0.0f, 
        1.0f, -1.0f, 0.0f 
    };

    glVertexPointer(3, GL_FLOAT, 0, triVertices);
    glDrawArrays(GL_TRIANGLES, 0, 3);
    glDisableClientState(GL_VERTEX_ARRAY);
    glFlush ();
}

void reshape (int w, int h)
{
    glViewport (0, 0, (GLsizei) w, (GLsizei) h); 
    glMatrixMode (GL_PROJECTION);
    glLoadIdentity ();
    glFrustum (-1.0, 1.0, -1.0, 1.0, …
Run Code Online (Sandbox Code Playgroud)

opengl-es

4
推荐指数
1
解决办法
7858
查看次数

fread - 读取和跳过内存内容

如果我正在读取文件:

fptr = fopen(read_path, "rb");
fread(contents, size_in_bytes, count, fptr);
Run Code Online (Sandbox Code Playgroud)

假设我想要读取4个字节,然后跳过4个字节,然后读取4个,依此类推.我怎样才能做到这一点?具体来说,我将如何操纵/推进fptr

c linux

3
推荐指数
1
解决办法
215
查看次数

为什么函数返回时没有调用复制构造函数?

Line Line::operator =(Line ln) {
        cout << "Assignment operator\n";
        Line temp;
        temp.ptr = new int;
        *temp.ptr = *(ln.ptr);
        return temp;
    }
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,执行以下语句时不会调用复制构造函数:

return temp;
Run Code Online (Sandbox Code Playgroud)

由于返回是按值,为什么不调用复制构造函数?

谢谢

c++ copy-constructor

3
推荐指数
1
解决办法
164
查看次数

C输入 - getchar()

这是一个基本问题..但不得不问.对于这样的程序,如果用例是123 ^ Z,程序不会终止,即使我在末尾放置了一个EOF(Ctrl + Z).为什么会这样?只有当我在CR之后放置一个EOF它才有效.任何anwers将不胜感激.谢谢.

#include < stdio.h>

void main()
{
    int i, nc;

    nc = 0;
    i = getchar();
    while (i != EOF) {
        nc = nc + 1;
        i = getchar();
    }
    printf("Number of characters in file = %d\n", nc);
}
Run Code Online (Sandbox Code Playgroud)

c windows getchar

2
推荐指数
1
解决办法
1613
查看次数

在Visual Studio 2010中使用OpenGL - 错误LNK2019:函数___tmainCRTStartup中引用的未解析的外部符号_WinMain @ 16

我正在Visual Studio中编译这个OpenGL程序.在阅读了大量文章之后,我已经正确地进行了设置.我已将正确的库添加到链接器的其他依赖项中.但是我收到此错误:

错误LNK2019:函数_ _tmainCRTStartup中引用的未解析的外部符号WinMain @ 16

我正在编译的代码是:

#include <windows.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>

void init(void) 
{
   glClearColor (0.0, 0.0, 0.0, 0.0);
   glShadeModel (GL_FLAT);
}

void display(void)
{
   glClear (GL_COLOR_BUFFER_BIT);
   glColor3f (1.0, 1.0, 1.0);
   glLoadIdentity ();             /* clear the matrix */
           /* viewing transformation  */
   gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
   glScalef (1.0, 2.0, 1.0);      /* modeling transformation */ 
   glutWireCube (1.0);
   glFlush ();
}

void reshape (int w, int h)
{ …
Run Code Online (Sandbox Code Playgroud)

c++ opengl visual-studio-2010

1
推荐指数
1
解决办法
6996
查看次数

规范化glTranslatef()

glTranslate()的参数指定原点转换的单位数量.因此,有可能超越显示器.有没有办法规范我们移动的数量,以便我们不超出绘图区域?

c opengl

0
推荐指数
1
解决办法
367
查看次数