小编Jen*_*off的帖子

我的枚举不是类或命名空间

嗨,我有名为MyCode.h和MyCode.cpp的文件

在我已经声明的MyCode.h中

enum MyEnum {Something = 0, SomethingElse = 1};

class MyClass {

MyEnum enumInstance;
void Foo();

}; 
Run Code Online (Sandbox Code Playgroud)

然后在MyCode.cpp中:

#include "MyCode.h"

void MyClass::Foo() {
    enumInstance = MyEnum::SomethingElse;
}
Run Code Online (Sandbox Code Playgroud)

但是当用g ++编译时,我得到错误'MyEnum'不是类或命名空间......

(在MS VS2010中工作正常,但不是linux g ++)

有任何想法吗?谢谢托马斯

c++ enums g++ c++11

59
推荐指数
3
解决办法
5万
查看次数

如何将unicode字符串输出到RTF(使用C#)

我正在尝试将unicode字符串输出为RTF格式.(使用c#和winforms)

来自维基百科:

如果需要Unicode转义,则使用控制字\ u,然后使用16位带符号十进制整数,给出Unicode代码点编号.为了没有Unicode支持的程序的好处,必须在指定的代码页中跟随此字符的最近表示.例如,\ u1576?会给出阿拉伯字母beh,指明没有Unicode支持的旧程序应该将其作为问号呈现.

我不知道如何将Unicode字符转换为Unicode代码点("\ u1576").转换为UTF 8,UTF 16和类似很容易,但我不知道如何转换为codepoint.

我使用它的场景:

  • 我把现有的RTF文件读成字符串(我正在阅读模板)
  • string.replace #TOKEN #with MyUnicodeString(模板填充数据)
  • 将结果写入另一个RTF文件.

当Unicode字符到达时出现问题

c# unicode rtf codepoint

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

如何在代码编辑器中插入NEWID()/ GUID/UUID?

许多代码编辑器都有一个内置的菜单项或键盘功能来获取UUID,例如当我在Delphi中按CTRL+ SHIFT+时G,它会在源代码的当前位置插入一个GUID.

我知道我可以SELECT NEWID()用来生成UUID,但我必须转到查询结果,将生成的UUID复制到我的剪贴板(杀死之前的内容),然后返回代码并替换查询处理这个问题的可怕方式.

是否有任何功能(可能使用IntelliSense代码片段?)在我还没有找到的SQL Server Management Studio中执行此操作?

关于为什么我需要这个函数的一些背景,我经常写这样的SQL脚本:

INSERT INTO table (table_id, value) 
VALUES ('112C8DD8-346B-426E-B06C-75BBA97DCD63', 'ABC');
Run Code Online (Sandbox Code Playgroud)

我不能只使用call NEWID(),因为我后来想要引用特定的行使用:

WHERE table_id = '112C8DD8-346B-426E-B06C-75BBA97DCD63'
Run Code Online (Sandbox Code Playgroud)

sql sql-server ssms

18
推荐指数
2
解决办法
7万
查看次数

如何将清单<requestedPrivileges>信息添加到delphi项目中

<requestedPrivileges>清单信息添加到Delphi XE项目(.exe)的最简单方法是什么?

是否可以只添加所需的节点,如:

<requestedPrivileges>   
  <requestedExecutionLevel level="requireAdministrator"/> 
</requestedPrivileges>
Run Code Online (Sandbox Code Playgroud)

或者我必须添加整个清单文件,如?

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="VistaLogonCustomizer.exe" type="*"/>
  <description>elevate execution level</description>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
   <security>
     <requestedPrivileges>
      <requestedExecutionLevel level="requireAdministrator"/>
     </requestedPrivileges>
   </security>
  </trustInfo>
  <dependency>
   <dependentAssembly>
     <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/>
   </dependentAssembly>
  </dependency>
</assembly> 
Run Code Online (Sandbox Code Playgroud)

如果我必须添加整个清单文件,那么我是否与manfest文件中的构建冲突(当项目选项"Activate Runtime-Theme"设置为true时生成)?

delphi uac manifest delphi-xe

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

如何处理与版本控制相关但经常以不相关的方式更改的文件?

.dproj 文件对于Delphi项目至关重要,因此它们必须受版本控制.

这些文件由IDE控制,并且还包含一些经常更改的信息,但与版本控制完全无关.

例如:我经常更改应用程序的启动参数(一天几次),但如果只有处理启动参数的部分发生了变化,则不希望意外提交项目文件.

那么如何处理这种情况呢?

一个干净的解决方案是将文件分开,但使用Delphi IDE AFAIK是不可能的.

你能忽略文件的特定部分吗?

我们目前正在使用Subversion,但很快就会迁移到Git.

svn delphi git version-control

17
推荐指数
3
解决办法
792
查看次数

库之间的关系:Clutter,Cogl,Clutter,GTK +等

我对上面列出的库的关系有点困惑,这是我的想法:

  1. Cario是一个2D图形库,GTK +使用它来渲染小部件.卡里奥是低级别的.
  2. Cogl是一个基于OpenGL(或者是fork?我不知道)的3D图形库,而Clutter是一个基于Cogl的3D GUI工具包.

如果这是正确的,Clutter有一天会取代GTK +吗?

和...

如果你认为有一个更好的地方可以提出这个问题,或者我应该先读一些书,请告诉我!我是兴趣的自学编程.

gtk cairo clutter cogl

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

如何使用具有对象<int,int>向量的元素的unordered_set

我想要有类似的东西

 unordered_set<vector<pair<int,int>>> us;
Run Code Online (Sandbox Code Playgroud)

但即使没有配对:

#include <vector>
#include <unordered_set>
using namespace std;

int main() {
    unordered_set<vector<int>> um;
}
Run Code Online (Sandbox Code Playgroud)

它失败:

In file included from /usr/include/c++/4.8/bits/hashtable.h:35:0,
                 from /usr/include/c++/4.8/unordered_set:47,
                 from prog.cpp:2:
/usr/include/c++/4.8/bits/hashtable_policy.h: In instantiation of ‘struct std::__detail::_Hash_code_base<std::vector<int>, std::vector<int>, std::__detail::_Identity, std::hash<std::vector<int> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>’:
/usr/include/c++/4.8/bits/hashtable_policy.h:1402:10:   required from ‘struct std::__detail::_Hashtable_base<std::vector<int>, std::vector<int>, std::__detail::_Identity, std::equal_to<std::vector<int> >, std::hash<std::vector<int> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<true, true, true> >’
/usr/include/c++/4.8/bits/hashtable.h:174:11:   required from ‘class std::_Hashtable<std::vector<int>, std::vector<int>, std::allocator<std::vector<int> >, std::__detail::_Identity, std::equal_to<std::vector<int> >, std::hash<std::vector<int> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, true, true> >’
/usr/include/c++/4.8/bits/unordered_set.h:96:18:   required from …
Run Code Online (Sandbox Code Playgroud)

c++ unordered-map unordered-set c++11

15
推荐指数
2
解决办法
8346
查看次数

什么=>在节点js中意味着什么

我正在学习节点js,并且=>多次遇到过,但很难理解这意味着什么.

这是一个例子:

app.post('/add-item', (req, res) => {
  // TODO: add an item to be posted
});
Run Code Online (Sandbox Code Playgroud)

在上面的例子中我们真的需要这个吗?一个简单的解释会有所帮助.谢谢

javascript node.js ecmascript-6

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

如何暂时禁用"返回值可能未定义"警告?

我想在我的代码中禁用特定警告(W1035),因为我认为编译器对此警告是错误的:

function TfrmNagScreen.Run: TOption;
begin
  if ShowModal = mrOk then
    Result := TOption(rdgAction.EditValue)
  else
    Abort
end;
Run Code Online (Sandbox Code Playgroud)

因为Abort投掷,结果不可能是未定义的EAbort.

我试过了:

  • {$WARN 1035 Off}:显然这仅适用于某些特定错误(请参阅文档)
  • {$W-1035}:什么都不做

我知道我可以在项目选项中全局关闭警告,或使用{$WARNINGS OFF},但这不是这里的意图.

编辑:我现在已经将QC作为#89744了.

delphi compiler-directives delphi-2007 suppress-warnings

12
推荐指数
2
解决办法
524
查看次数

为什么布尔表达式(带副作用)不足以作为语句?

function A: Boolean;
function B: Boolean;
Run Code Online (Sandbox Code Playgroud)

我(意外地)写道:

A or B;
Run Code Online (Sandbox Code Playgroud)

而不是:

if not A then
  B;
Run Code Online (Sandbox Code Playgroud)

编译器拒绝第一个表单,我很好奇为什么?

通过短路评估他们会做同样的事情,不是吗?

澄清:我想知道为什么这种语言的设计不允许我的表达作为陈述.

delphi expression language-design delphi-xe2

12
推荐指数
3
解决办法
631
查看次数