首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Visual Studio C++ 2010IDE中报告错误

如何在Visual Studio C++ 2010IDE中报告错误
EN

Stack Overflow用户
提问于 2012-08-15 07:02:55
回答 1查看 660关注 0票数 0

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

如果有足够的障碍可以跳过,我想报告给女士,但首先,请告诉我,如果编译器和我是错误的,以及扭动是正确的。

代码语言:javascript
复制
#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;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-15 07:11:00

Microsoft Connect上可能会报告Visual Studio中的错误。

然而,我简单地看了一下你的代码,在Visual Studio 2012中没有任何曲折。所以,如果这里有一个bug,看起来它已经被修复了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11962063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档