首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >算子匹配误差VS2015

算子匹配误差VS2015
EN

Stack Overflow用户
提问于 2016-11-16 07:37:48
回答 1查看 90关注 0票数 0

因此,当我遇到一些非常奇怪的操作员匹配错误(C2677 & C2678)时,我正试图编写一个简单的相机,以便使用用户输入在游戏世界中移动。是从线上来的

代码语言:javascript
运行
复制
    camPosition += moveLeftRight * camRight; 
    camPosition += moveBackForward * camForward; 
    camTarget = camPosition + camTarget; 

定义:

代码语言:javascript
运行
复制
    float moveLeftRight = 0.0f; 
    float moveBackForward = 0.0f; 

    DirectX::XMVECTOR camPosition; 
    DirectX::XMVECTOR camTarget; 

    DirectX::XMVECTOR camForward = DirectX::XMVectorSet(0.0f, 0.0f, 1.0f, 0.0f); 
    DirectX::XMVECTOR camRight = DirectX::XMVectorSet(1.0f, 0.0f, 0.0f, 0.0f); 

这些错误如下:

代码语言:javascript
运行
复制
    Error C2677 binary '*': no global operator found which takes type 'DirectX::XMVECTOR' (or there is no acceptable conversion) 
    //Hovering "operand types are: float * DirectX::XMVECTOR" 

    Error C2678 binary '+': no operator found which takes a left-hand operand of type 'DirectX::XMVECTOR' (or there is no acceptable conversion) 
    //Hovering "operand types are: DirectX::XMVECTOR * DirectX::XMVECTOR" 

它以前也做过汇编。当我使用命名空间DirectX时,它编译得非常好。我想当我添加一些移动代码时,可能有什么东西搞砸了。我删除了名称空间,并将DirectX::添加到每个定义和函数中。错误。用于C2677和C2678的MSDN页面根本没有帮助。谷歌只给了我一些简单的东西。

Gyazo链接:

https://gyazo.com/e2f62026d00e8fa82142b24de3fe32b5 https://gyazo.com/f1bbc321abc3a167d519bf1d671edcc6

编辑:我不知道为什么,也不知道怎么做,但现在起作用了。所以耶..。我的时间过了一个小时。>.>该死的编码..。LOL。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-20 15:18:25

您想使用这个操作符:

代码语言:javascript
运行
复制
XMVECTOR    XM_CALLCONV     operator+ (FXMVECTOR V1, FXMVECTOR V2);

我觉得你好像把它藏起来了:

代码语言:javascript
运行
复制
namespace
{
    class Scalar {
    public:
        Scalar() {}
    };

    inline Scalar operator+ (Scalar s1, Scalar s2) { return Scalar(); }

    int f() {
        XMVECTOR a;
        a = a + a; // Here, you can't access XMVECTOR's operator,
                   // because name lookup stops with first operator found
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40626441

复制
相关文章

相似问题

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