小编Xai*_*anX的帖子

在子类化实现NSCoding的对象时是否需要调用[super encodeWithCoder]?

我知道当你编写实现NSCoding的对象的子类的initWithCoder方法时,你必须调用super initWithCoder(而不是super init),但是我必须调用super encodeWithCoderencodeWithCoder的实现吗?

cocoa objective-c nscoding

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

使用GLFW与OpenGL相关的许多未声明的标识符

我正在尝试使用Visual C++ 2008(Windows 7)中的GLFW设置OpenGL项目.我已将GLFW include和library目录添加到项目的include和library路径中,并且我已将以下内容添加到其他依赖项中:

GLFW.lib glu32.lib opengl32.lib
Run Code Online (Sandbox Code Playgroud)

这就是我需要做的一切,不是吗?但是当我尝试编译任何OpenGl程序时(除了一个只使用glClear清除屏幕的非常简单的程序)我得到一堆未声明的标识符和标识符未找到错误.知道为什么会这样吗?这是完整的错误列表:

1>Compiling...
1>main.cpp
1>c:\glfw-2.7.3\opengl ikasi\main.cpp(9) : error C2146: syntax error : missing ';' before identifier 'VBO'
1>c:\glfw-2.7.3\opengl ikasi\main.cpp(9) : error C2377: 'GLuint' : redefinition; typedef cannot be overloaded with any other symbol
1>        c:\program files\microsoft sdks\windows\v6.0a\include\gl\gl.h(52) : see declaration of 'GLuint'
1>c:\glfw-2.7.3\opengl ikasi\main.cpp(9) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\glfw-2.7.3\opengl ikasi\main.cpp(43) : error C3861: 'glEnableVertexAttribArray': identifier not found
1>c:\glfw-2.7.3\opengl ikasi\main.cpp(45) : error C2065: …
Run Code Online (Sandbox Code Playgroud)

opengl glfw visual-c++

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

是否可以将类作为参数传递给c ++中的函数?

我有一个带有void*的函数作为其参数之一(void用作通用对象).但是为了能够调用该泛型对象中的函数,我需要先抛出它,为此我需要知道该类的类型.我想知道,是否可以传递一个类或一些允许我将对象转换为函数参数的信息?

c++

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

如何解决NSKeyedArchiver警告:替换现有值

我有一个实现可序列化的对象,我有一个包含一些对象的字典.当我编译并运行时,我收到很多警告说我正在替换键的值.发生这种情况是因为在序列化字典中的下一个对象时,它使用与前一个对象相同的密钥存储它的变量,对吧?我怎么解决这个问题?有没有办法知道在encodeWithCoder方法中是否存储了该名称的任何变量?

objective-c

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

如何减去两个FILETIME?

我试图在Windows中以毫秒为单位获取经过时间。我发现这样做的唯一方法是使用FILETIME结构从1601开始获得100纳秒的数量。但是FILETIME结构将值存储在两个变量中,我想知道如何减去两个结构,将它们除以10000(以获取毫秒数)并将结果存储在单个变量中,我正在使用c ++和visual Studio 2008 Express Edition

c++ windows

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

如果我在for中声明一个对象,那之后是否会释放内存?

如果我在for中声明和对象,例如将它的地址分配给指针,当结束指针时,该指针是否指向无效的内存?就像它发生在使用您在该方法中声明的对象的方法的末尾

c++

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

什么:(成员方法名称)在c ++中做

我是c ++的首发,我正在尝试开发一个简单的OpenGL应用程序.看一下互联网上的一些代码,我发现了这个:

::glutDisplayFunc(myPixmap::drawCallback);
Run Code Online (Sandbox Code Playgroud)

忽略函数本身,我只是想知道那行代码的作用.它叫这个功能吗?我知道这可能是一个愚蠢的问题,但我找不到答案

c++

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

如何将值赋给指向NULL的指针

我有一个指向null的指针,我想为它赋值.但如果我尊重它,我会得到一个错误.我试过这个:

*nullPointer=value;
Run Code Online (Sandbox Code Playgroud)

但就像我说的,我收到了一个错误.我怎样才能做到这一点?.我做不到

nullPointer=&value
Run Code Online (Sandbox Code Playgroud)

因为后来的值(它是一个对象)被删除,而nullPointer将指向无效的内存.

c++

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

在OpenGL中使用一个缓冲区用于顶点,uv和法线的效果是否比使用三个?

我发现将这些元素保存在单独的缓冲区中会更清晰,更容易,但我想知道它是否能更好地将它们全部放在一个大缓冲区中.

c++ opengl buffer

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

为什么这个单例模式不起作用?

我有两个单例,第一个标题看起来像这样(我省略了与Singleton模式无关的所有内容):

#ifndef TEXTUREMANAGER_DEFINED_H
#define TEXTUREMANAGER_DEFINED_H
class FontManager;
class TextureManager
{
private:
    static TextureManager *instance;
    TextureManager();
public:
    FontManager *fontManager;
    static TextureManager* Instance();
};

#endif
Run Code Online (Sandbox Code Playgroud)

在实现中,这是Instance()方法(以及实例静态成员的初始化):

#include "FontManager.h"
TextureManager * TextureManager::instance = 0;
TextureManager* TextureManager::Instance ()
{
    if (instance==0)
        instance=new TextureManager;
    return instance;
}
Run Code Online (Sandbox Code Playgroud)

这是构造函数:

TextureManager::TextureManager()
{
    fontManager=FontManager::Instance();
}
Run Code Online (Sandbox Code Playgroud)

第二个单例(FontManager)的设计完全相同,但不是FontManager指针有一个TextureManager指针,并且在它的构造函数中它使用TextureManager :: Instance()初始化该指针.这应该是这样的:TextureManager首先实例化(当程序启动时),并在其构造函数中第一次实例化FontManager单例调用FontManager :: Instance().FontManager,在它的构造函数中,使用TextureManager :: Instance()将其指针指定给TextureManager,此方法返回已存在的TextureManager实例.对?

但是代替那个程序进入无限循环,因为(我不知道为什么)Instance()方法总是创建一个新实例.我if (instance==0)总是评价为真.

c++ singleton

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

标签 统计

c++ ×7

objective-c ×2

opengl ×2

buffer ×1

cocoa ×1

glfw ×1

nscoding ×1

singleton ×1

visual-c++ ×1

windows ×1