小编the*_*der的帖子

在Windows上使用cmake RUNTIME_OUTPUT_DIRECTORY

我正在使用来管理我的跨平台构建,除了这个问题,我已经解决了所有问题.我设置RUNTIME_OUTPUT_DIRECTORY了一个bin/存储数据文件的目录.在Linux上,这很好用.在Windows上,可执行文件放在Debug/ Release子目录中,具体取决于构建类型.有没有办法让将可执行文件复制到正确的目录,或者(甚至更好)完全停止使用这些子目录?

build-process cross-platform cmake visual-studio

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

const /非const重载决议的问题

我有一个看起来像这样的类:

class ClassA
{
  public:
    float Get(int num) const;
  protected:
    float& Get(int num);
}
Run Code Online (Sandbox Code Playgroud)

在课外,我调用了Get()函数.

float foo = classAInstance.Get(i);
Run Code Online (Sandbox Code Playgroud)

我希望这可以调用公共版本,但是Visual Studio会出错:

error C2248: 'ClassA::Get' : cannot access protected member declared in class 'ClassA'
Run Code Online (Sandbox Code Playgroud)

在注释掉受保护的重载并删除对它的所有引用时,代码将编译.

为什么编译器在可访问的成员可用时尝试使用不可访问的成员?是否有一种可以接受的方法来强制编译器选择正确的重载?在某处有成员函数的解决规则吗?

c++ overloading visual-studio-2010 overload-resolution

11
推荐指数
2
解决办法
2328
查看次数

subseq(LISP)的简单问题

我刚开始使用LISP,来自C的背景.到目前为止它很有趣,虽然有一个令人难以置信的学习曲线(我也是一个emacs新手).

无论如何,我对以下代码有一个愚蠢的问题来解析来自c源的include语句 - 如果有人可以对此发表评论并建议解决方案,那将会有很大帮助.

(defun include-start ( line )
    (search "#include " line))

(defun get-include( line )
  (let ((s (include-start line)))
    (if (not (eq NIL s))
      (subseq line s (length line)))))

(get-include "#include <stdio.h>")
Run Code Online (Sandbox Code Playgroud)

我希望最后一行能够返回

"<stdio.h>"
Run Code Online (Sandbox Code Playgroud)

但实际结果是

"#include <stdio.h>"
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

lisp string common-lisp

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

使用四元数沿球体表面移动

我正在编写3D游戏,其中用户控制第一人称相机,并且移动被约束到球体的内表面.我设法限制了运动,但我无法弄清楚如何使用四元数来管理相机方向.理想情况下,相机向上矢量应该沿着球体的法线指向其中心,用户应该能够自由地环顾四周 - 好像我们总是在球体的底部,无论他在哪里移动.

math 3d quaternions

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

STL priority_queue复制比较器类

我正在尝试使用自定义比较器创建优先级队列:

std::priority_queue<int, std::vector<int>, MyComparator> pq;
Run Code Online (Sandbox Code Playgroud)

我的问题是MyComparator有一个存储附加状态的方法.因为MyComparator被复制到优先级队列(据我所知),我无法在优先级队列所持有的MyComparator实例上调用此方法.有没有办法:

  • 获取对优先级队列所持有的MyComparator实例的访问权限,或者:
  • 以某种方式通过引用传递原始的MyComparator实例

c++ stl

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

如何使用JOGL2隐藏鼠标光标?

我正在使用 JOGL2 和 NativeWindow API 用 Ja​​va 编写应用程序。如何隐藏鼠标光标?

[编辑]
我没有使用 JFrame 来创建窗口,而是使用 JOGL 中的 GLWindow 来创建窗口。GLWindow 没有 setCursor 方法。这还有可能吗?

java jogl mouse-cursor

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