小编bli*_*eus的帖子

iOS spriteKit子节点相对于视图坐标的位置

我有一个子节点添加到另一个节点.我想让子节点相对于视图坐标而不是父节点坐标

coordinate-systems ios sprite-kit

7
推荐指数
1
解决办法
9090
查看次数

C++不完全类型的分配

我想创建Card和Deck类,但是我收到一条错误消息

不完全类型'卡'的分配

问题发生在Deck.cpp的Deck :: Deck()中

//
//Deck.h

#ifndef JS_DECK_H
#define JS_DECK_H

#include <iostream>
using std::cout;

#include <vector>
using std::vector;

//forward declaration
class Card;

namespace JS {
    class Deck {

    public:
        Deck();
    private:
        vector<Card *>cards;
    };

}

#endif
Run Code Online (Sandbox Code Playgroud)

//
//Deck.cpp

#include "Deck.h"

using namespace JS;

Deck::Deck(){

    for(int suit = 0; suit < 4; suit++){
        for(int rank = 1; rank < 14; rank++){

            cards.push_back(new Card(rank, suit));//allocation of incomplete type 'Card'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

//
//Card.h

#ifndef JS_CARD_H
#define JS_CARD_H

#include <ostream>
using …
Run Code Online (Sandbox Code Playgroud)

c++ allocation

3
推荐指数
1
解决办法
2万
查看次数

random_shuffle每次产生相同的结果

我试图改变一副牌,但random_shuffle每次产生相同的结果

void
Deck::shuffle() {

    cout << "SHUFFLING CARDS!!!\n\n";

    srand(time(0));
    random_shuffle(cards.begin(), cards.end());

    displayCards();
}
Run Code Online (Sandbox Code Playgroud)

c++ random stl shuffle

1
推荐指数
1
解决办法
1643
查看次数

重载operator <<输出地址而不是数据成员

我正在尝试重载operator<<但我继续将地址作为输出.

例如a Card *c = new Card(5,3);

那么如果我尝试用我的重载输出卡operator<<,

地址输出而不是说'5俱乐部'

cout << c;    //0x100100ff0  ?????????????
Run Code Online (Sandbox Code Playgroud)
//Card.h

#ifndef JS_CARD_H
#define JS_CARD_H

#include <ostream>
using std::ostream;

#include <string>
using std::string;

#include <vector>
using std::vector;

namespace JS {
    class Card {

    friend ostream &operator<<(ostream &out, const Card &rhs);

    public:
        enum Suit { DIAMONDS, HEARTS, SPADES, CLUBS };
        enum Rank { ACE = 1, JACK = 11, QUEEN = 12, KING = 13 };

        Card(int rank, int suit) : rank(rank), suit(suit){} …
Run Code Online (Sandbox Code Playgroud)

c++ operator-overloading

0
推荐指数
1
解决办法
205
查看次数

c printf size_t

我的代码编译,虽然printf没有显示任何内容?

如果我取出格式化程序部分,printf那么它的工作正常.

#include <stdio.h>

size_t MyStrlen(const char *s1)
{
    const char *s1Copy = s1;

    while (*s1)
    {
        *s1Copy++;
    }

    return s1Copy -s1;
}

int main(void) 
{
    const char str[] = "HELLO";

    printf("Length: %d \n", (unsigned int)MyStrlen(str));

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c string printf size-t

-3
推荐指数
2
解决办法
8542
查看次数