小编Ian*_*Ian的帖子

Qt 4.7.1,Qt Creator和VS 2010安装问题

在我的电脑上(Win7 32,VS2010 Ultimate)我想使用Qt Creator和Qt Visual Studio加入,两个LGPL版本.

在诺基亚网站上有minGW和VS2008版本的Qt框架,我没有找到VS 2010版本.

所以我安装了Qt 2010.05 SDK,并在VS 2010命令提示符下执行了以下步骤:

configure -static
nmake sub-src
Run Code Online (Sandbox Code Playgroud)

我检查了Qt Creator,它成功运行了.翻译完成后我安装了VS 2010添加我试图在路径中添加新的Qt版本

C:\Qt\2010.05\qt
Run Code Online (Sandbox Code Playgroud)

但是出现了以下错误消息:

给定路径中的Qt是使用minGW构建的

它不明白为什么因为翻译已经为VS2010执行了.

错误在哪里?如何正确安装?

c++ qt visual-studio-2010 qt-creator

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

C++,优先级队列,项目未排序

我的优先级队列有问题:

std::priority_queue <NodePrio, std::vector<NodePrio>, sortNodesByPrio> PQ;
Run Code Online (Sandbox Code Playgroud)

哪里

struct NodePrio
{
Node *node;
double priority;

NodePrio() : node(NULL), priority(0) {}
NodePrio(Node *node_, double priority_) : node(node_), priority(priority_) {}
};
Run Code Online (Sandbox Code Playgroud)

class sortNodesByPrio
{
public:
    bool operator () (const NodePrio &n1, const NodePrio  &n2)   const;
}


bool sortNodesByPrio::operator () (const NodePrio &n1, const NodePrio &n2) const
{
return n1.priority < n2.priority;
}
Run Code Online (Sandbox Code Playgroud)

经过反复推动新元素

PQ.push(NodePrio(node, distance));
Run Code Online (Sandbox Code Playgroud)

从任何时间点他们都没有排序(见下文)...我试图调试代码,比较器代码已反复执行...

Step1: 
push (node, 55.33);

PQ:
[0] 55.33

Step2:
push (node, 105.91);

PQ:
[0] 105.91
[1] 55.33 …
Run Code Online (Sandbox Code Playgroud)

c++ sorting priority-queue

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