C ++ Visual Studio 2015:非标准语法;使用“&”创建指向成员的指针

本地化

卡h

#pragma once
#include <string>
#include "Rank.h"
#include "Suit.h"
using namespace std;

/**
 * 
 */
class MEMORYWARS_API Card
{
public:
    Card(Rank, Suit);
    string toString() const;
    ~Card();
private:
    Rank rank;
    Suit suit;
};

#include "MemoryWars.h"
#include "Card.h"

Card::Card(Rank rank, Suit suit)
{
    this->rank = rank;
    this->suit = suit;
}

string Card::toString() const
{
    string s = "Hellow there";
    return s;
}

Card::~Card()
{
}

错误

error C3867: 'Card::toString': non-standard syntax; use '&' to create a pointer to member

Deck.h

#pragma once
#include "Card.h"
#include "vector"
class MEMORYWARS_API Deck
{
public:
    Deck();
    ~Deck();
private:
    std::vector<Card> deck;
};

Deck.cpp

#include "MemoryWars.h"
#include "Deck.h"
#include <EngineGlobals.h>
#include <Runtime/Engine/Classes/Engine/Engine.h>
Deck::Deck()
    : deck(52)
{
    int cc = 0;
    for (int i = 0; i < 4; i++)
    {
        for (int j = 0; j < 13; j++)
        {
            Rank rank = static_cast<Rank>(j);
            Suit suit = static_cast<Suit>(i);
            deck[cc] = Card(rank, suit);
            cc++;
        }
    }
    string st = deck[2].toString;
    GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString::Printf(TEXT("Some variable values: x: %s"), st));
}

Deck::~Deck()
{
}

我主要是具有Java经验的C ++新手,我一直在努力解决此错误。

我正在尝试测试Card :: toString方法,但是每次我从deck.cpp调用它时,都会收到错误消息。

bennji_of_the_overflow

这行是不正确的:

string st = deck[2].toString;

在C ++(实际上我也认为Java)中调用函数的正确方法是:

string st = deck[2].toString();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C ++ Visual Studio非标准语法使用'&'创建指向成员的指针

Visual Studio 2015“非标准语法;使用'&'创建指向成员的指针”

Visual Studio 2015“非标准语法;使用“&”创建指向成员的指针”

Visual Studio 2015“非标准语法;使用'&'为成员创建指针”

非标准语法;使用“&”创建指向成员 C++ 的指针

std :: unsted_map中的std :: function,错误C3867非标准语法;使用“&”创建指向成员的指针

'std :: basic_string <char,std :: char_traits <char>,std :: allocator <char >> :: c_str':非标准语法; 使用“&”创建指向成员的指针

非标准语法;使用“&”创建一个指针成员。显示函数 C++ 出错

错误C3867'std :: basic_string <char,std :: char_traits <char>,std :: allocator <char >> :: c_str':非标准语法; 使用“&”创建指向成员的指针

非标准语法,使用 & 创建指向成员的指针

非标准语法;使用“&”创建指向成员的指针

为 std::sort 获取“非标准语法;使用‘&’创建指向成员的指针”

非标准语法;将成员函数分配给向量时,使用“&”创建指向成员错误的指针

如何使Visual Studio 2015 C ++项目与Visual Studio 2010兼容?

使用C和Visual Studio 2015的ANSI

为什么会出现“非标准语法;使用'&'创建指向成员的指针”和“没有重载函数需要2个参数”的错误?

无法返回指向数组 C++ Visual Studio 的指针

C ++标准版本与Visual Studio版本

指针算术 Visual Studio C++

Visual Studio 2015更新1,c错误

Visual Studio 2015中的C代码错误

在Visual Studio 2015中强制执行ANSI C标准

Visual Studio 2015无法识别C#7.0语法

用于Visual Studio 2015的Wine Visual C ++可重新分发

使用Visual Studio在C ++中嵌入Julia

无法从 Visual Studio C++ 使用 gmsh

C ++中的异步RPC(使用Visual Studio)

使用C#Visual Studio 13的Prolog

Visual Studio中的C ++