【问题标题】:How to report bug in Visual Studio C++ 2010 IDE如何在 Visual Studio C++ 2010 IDE 中报告错误
【发布时间】:2012-08-14 23:02:54
【问题描述】:

我有一个程序(向下修剪)可以按我认为应该的方式编译和运行,但在代码窗口中,星号(运算符 *)下面有一个红色波浪线,鼠标悬停在标题上说,“错误,没有运算符 * 匹配这些操作数。我猜波浪线忽略了告诉编译器。如果我将 operator* 更改为名为“dot”的函数,也会发生同样的事情。

如果没有足够的箍可以跳过,我想向 MS 报告。但首先,告诉我编译器和我是否错了,花体字是对的。

#include <vector>
#include <iostream>
//#include "fp_vectors.h"
// Header file =================
#include <type_traits>
#include <algorithm>

namespace dj {

    // Dot-product of two real-valued vectors
    template <typename FirstType, typename SecondType> 
    auto operator*(const FirstType &a, const SecondType &b) -> decltype(a[0]*b[0]){
       std::remove_const<decltype(a[0]*b[0])>::type ret = 0.0;
       const int sz = std::min(a.size(),b.size());
       for(int i=0;i<sz;++i) {
           ret += a[i]*b[i];
       }
       return ret;
    }


} // namespace dj

// End header file ================


using namespace std;
typedef vector<float> fvec;
typedef vector<double> dvec;

using namespace dj;

int main()
{
    const size_t sz = 3;
    fvec fv(sz);
    dvec dv(sz);
    for(size_t i=0; i<sz; ++i) {
        fv[i] = -.89f*(i-1.0f);
        dv[i] = 1.6*(i-2.2);
    }
    double ret = dv*fv; // Earns a red squiggly
    cout << ret << endl;
    return 0;
}

【问题讨论】:

    标签: visual-studio-2010 visual-studio visual-c++ intellisense visual-c++-2010


    【解决方案1】:

    可以在Microsoft Connect 上报告 Visual Studio 中的错误。

    但是,我简要查看了您的代码,在 Visual Studio 2012 中没有任何曲线。所以,如果这里有错误,它看起来已经修复了。

    【讨论】:

    • 我会等待 VC++ 2012,假设有 Express 版本。无需学习如何在 VC++ 2010 中报告错误,因为他们似乎有一个用于报告 VC++ 2012 中错误的新工具,可以减少循环次数。
    • Microsoft Connect 已经存在了一段时间,我认为自 Visual Studio 2005 时间框架以来。将有多个 Express 版本:一个用于 Windows 8 应用开发,另一个用于桌面应用开发。
    • 是否会有适用于普通旧 XP/Vista/Win7 的 Express 版本?我把头伸进了 Microsoft Connect。 VC++ 2010 至少有一点学习曲线,但主页上正在兜售一个程序,该程序应该让 VC++ 2012 更容易报告错误。我可以等待。明天(2012 年 8 月 15 日)应该会有某种版本。我们会看看里面有什么。你是微软员工吗? Beta 测试人员?
    • 我在 Microsoft 的 Visual C++ 团队工作。是的,Visual Studio Express 2012 for Windows Desktop 将支持 Windows XP、Vista 和 7 的普通旧 C++ 开发。明天(8 月 15 日),Visual Studio 2012 将提供给 MSDN 订阅者。不知道什么时候可以普遍使用。同时,可以通过from MSDN下载候选版本。
    • 好的,我将把这个标记为已回答。我有点羡慕你。我当时写了两个编译器(遗憾的是都是 Pascal)。有趣的项目,他们是。几年前我退休了,我很怀念它。所以我正在清理和更新我编写的一些库。可能会将它们捐赠给公共领域,或者将其置于某种共享软件许可下并乞求捐赠。 :-) 非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    • 2013-04-27
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多