小编The*_*ton的帖子

增加 docker pull 超时

有时在拉图像时,我会失去互联网大约 3 分钟,然后重新连接,但到那时已经太晚了,因为docker pull通常会超时。如何更改此默认超时时间,例如 10 分钟?

docker

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

联合内部结构的填充如何工作?

我有以下内容:

#include <stdio.h>

typedef union u_data
{
        struct
        {
                int a;
                int b;
                int c;
        };
                int elem[3];
}       my_data;

int     main(void)
{
        my_data data;

        data.a = 3;
        data.b = 5;
        data.c = -3;
        printf("%d, %d, %d\n", data.elem[0], data.elem[1], data.elem[2]);
}
Run Code Online (Sandbox Code Playgroud)

它按照我的预期输出:3, 5, -3

但是我知道结构中可以有填充,所以这是否意味着结构中的元素可能并不总是与数组对齐?

c struct padding memory-alignment unions

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

为什么在解析为double时此字符串流会失败?

我有以下代码:

#include <string>
#include <iostream>
#include <sstream>

int main()
{
        size_t x, y;
        double a = std::stod("1_", &x);
        double b = std::stod("1i", &y);

        std::cout << "a: " << a << ", x: " << x << std::endl;
        std::cout << "b: " << b << ", y: " << y << std::endl;

        std::stringstream s1("1_");
        std::stringstream s2("1i");

        s1 >> a;
        s2 >> b;

        std::cout << "a: " << a << ", fail: " << s1.fail() << std::endl;
        std::cout << "b: " << …
Run Code Online (Sandbox Code Playgroud)

c++ stringstream libc++

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

在声明中为类赋值不会编译

我想在声明中为类分配一个值,所以我创建了这个基本类:

class   A
{
public:
    A   &operator=(int)
    {
        return (*this);
    }
};
Run Code Online (Sandbox Code Playgroud)

并用这个main编译它:

int main(void)
{
    A x = 1;
}
Run Code Online (Sandbox Code Playgroud)

但编译器抱怨此错误消息:

no viable conversion from 'int' to 'A'

    A x = 1;
      ^   ~
Run Code Online (Sandbox Code Playgroud)

但是当我用这个main编译时:

int main(void)
{
    A x;

    x = 1;
}
Run Code Online (Sandbox Code Playgroud)

一切顺利编译


为什么我的第一个主要不编译,如何更改类A以便编译?

c++ initialization variable-assignment

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

纹理似乎正在读取未初始化的内存

我创建了这样的纹理:

GLuint tex;
unsigned char data[12] = {255, 255, 255,
                          255, 255, 255,
                          255, 255, 255,
                          255, 255, 255};

glGenTextures(1, &tex);
glBindTexture(GL_TEXTURE_2D, tex);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 2, 2, 0, GL_RGB, GL_UNSIGNED_BYTE, data);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
Run Code Online (Sandbox Code Playgroud)

我得到它的位置:

GLuint texloc = glGetUniformLocation(program, "tex_map");
Run Code Online (Sandbox Code Playgroud)

然后在我的绘图循环中我有:

glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, tex);
glUniform1i(texloc, 0);
Run Code Online (Sandbox Code Playgroud)

然后在我的片段着色器中,我有:

out vec3 color;

uniform sampler2D tex_map;

void  main()
{
    .
    .

    color = texture(tex_map, vec2(-0.1, -0.5));

}
Run Code Online (Sandbox Code Playgroud)

有时当我运行程序时,我绘制的对象变成随机的非白色,通常是红色.我以为我是通过使用来处理出界的情况GL_CLAMP_TO_EDGE.是什么导致了这种行为?

编辑:当vec2(_, _) …

c opengl textures opengl-4

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

在嵌套名称说明符中使用枚举(编译器警告)

我有一个枚举:

enum eOperandType
{
    Int8,
    Int16,
    Int32,
    Float,
    Double
};
Run Code Online (Sandbox Code Playgroud)

和'Double'类的成员函数

eOperandType    Double::getType(void) const
{
        return (eOperandType::Double);
}
Run Code Online (Sandbox Code Playgroud)

它给了我一个关于在嵌套名称说明符中使用枚举的编译器警告.

我还将返回线切换为:return (Double);但是它只是给了我一个关于预期表达式的错误.

我该如何解决这个问题?


编辑:更改行以return (::Double);确定警告和错误.有人可以解释为什么这个修复了吗?

c++ enums

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