visual studio 2017 STL visualizer失败了一个std :: map >

问题描述 投票:0回答:1

所有可视工作室观察窗口显示的是:

std::_Tree<std::_TMap_traits<.....

所有其他数据显示正常 - 使用相同或类似的数据。

这是标题:

typedef std::set<expression::ptr> expressionSet;
//pairOfExpression2Usage m_sBool;
typedef boost::flyweights::flyweight<
    expressionSet,
    boost::flyweights::set_factory<>,
    boost::flyweights::refcounted
> expressionSetFW;
typedef std::pair<expressionSetFW, expressionSetFW> pairOfExpressionSetFW;
    // these are or-ed together
struct comparePairOfExpressionSetFW
{   bool operator()(
        const pairOfExpressionSetFW &_r0,
        const pairOfExpressionSetFW&_r1) const;
};
typedef std::set<
    pairOfExpressionSetFW,
    comparePairOfExpressionSetFW
> setOfPairOfExpressionSet;
struct compareSetOfPairOfExpressionSet
{   bool operator()(
        const setOfPairOfExpressionSet &_r0,
        const setOfPairOfExpressionSet&_r1) const;
};
typedef boost::flyweights::flyweight<
    setOfPairOfExpressionSet,
    boost::flyweights::set_factory<compareSetOfPairOfExpressionSet>,
    boost::flyweights::refcounted
> setOfPairOfExpressionSetFW;
typedef std::tuple<std::size_t, double, setOfPairOfExpressionSetFW> exprData;
typedef std::map<expression::ptr, exprData> expr2Data;

我已经重新安装了可视化工具。难道

devenv.exe /resetsettings

将typedef放入全局范围。奇怪的是,所有其他的东西(也使用表达式:: ptr)作为索引或数据显示正常。

c++ visual-studio visual-studio-2017
1个回答
0
投票

我解决这个问题的方法是复制转换攻势

std::map<> 

进入

std::map<std::string, std::string>

只是为了能够在调试器中查看它。其他std :: map也会出现问题。我真的很想知道,是什么触发了这种行为。

© www.soinside.com 2019 - 2024. All rights reserved.