小编Isl*_*Cow的帖子

使用枚举作为模板参数

我想使用模板类为一些非常相似的子类提供一些常用功能.唯一的变化是每个使用的枚举.

这是父类

template<typename T> class E_EnumerationBase : public SimpleElement
{
public:
    E_EnumerationBase();
    virtual bool setValue(QString choice);
    virtual T getState();

protected:
    T state;
    QHash<QString, T> dictionary;
};

template<typename T> E_EnumerationBase<T>::E_EnumerationBase() {
    state = 0;
}

template<typename T> bool E_EnumerationBase<T>::setValue(QString choice) {
    T temp;
    temp = dictionary.value(choice, 0);
    if (temp == 0) {
        return false;
    }

    value = choice;
    state = temp;
    return true;
}

template<typename T> T E_EnumerationBase<T>::getState() {
    return state;
}
Run Code Online (Sandbox Code Playgroud)

这是其中一个孩子

enum TableEventEnum {
    NO_VALUE = 0,
    ATTRACT = …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance templates

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

让vim识别XML

我想vim帮我缩小我的xml文件,比如我的C代码.但是,当我使用时

gg=G
Run Code Online (Sandbox Code Playgroud)

它只是将一切设置在左侧.我需要指定语法吗?XML被识别为语言吗?

xml vi vim indentation

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

Starteam Recursive Add

这应该是一个RTFM问题,但我找不到它!

我刚刚开始在工作中使用StarTeam,我正在尝试初始化我一直使用Git管理的存储库.我已设法将文件夹添加到我的视图中,但是,我似乎无法检入所有文件.我认为没有人会注意到额外的Git信息,所以有人知道如何递归地向StarTeam添加所有文件和文件夹吗?命令行没问题,我厌倦了与客户打架.

如果重要的是,StarTeam 2006 Release 2

starteam

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

TortoiseGit显示干净的目录是冲突的

我有一个我正在使用的git存储库,我正在使用TortoiseGit来管理Windows.显示修改和差异显示工作目录和头部之间没有区别.但是,一个小红色X显示在我的一个文件夹上.

有没有办法重置TortoiseGit的状态?是否有我看不到的差异?

git version-control tortoisegit

5
推荐指数
2
解决办法
2652
查看次数