質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Android NDK

Android NDKとは、Android SDKと対を成すツールです。ネイティブコードのアプリ、またはC/C++言語の既存のポートライブラリでパフォーマンスクリティカルな部分を構築できます。ヘッダ、ライブラリを提供して、アクティビティやユーザ入力処理などを構築できます。

Q&A

1回答

3054閲覧

とあるゲームのModの作成でのエラーについて(C++)

ShuperDark

総合スコア11

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Android NDK

Android NDKとは、Android SDKと対を成すツールです。ネイティブコードのアプリ、またはC/C++言語の既存のポートライブラリでパフォーマンスクリティカルな部分を構築できます。ヘッダ、ライブラリを提供して、アクティビティやユーザ入力処理などを構築できます。

0グッド

0クリップ

投稿2017/04/29 16:12

###前提・実現したいこと
とあるゲームのModを作っているのですが(言ってしまえばMinecraft: PocketEditionです笑)、その中で新しい弓を追加しようと奮闘しています。
超初心者なので、不適切な部分がたくさんあるかもしれませんが、勘弁してください(^_^;)
それとここで質問するのは初めてです

###発生している問題・エラーメッセージ
それでBowItem& registerItem<BowItem, char const (&) [4], int>(char const (&) [4], int&&);という関数(クラスはBowItem)があるのですがこれの扱い方がイマイチわかりません。

DarkBowItem.cpp NDK: uninitialized reference member in 'class BowItem&'[-fpermissive] NDK: expected unqualified-id before '[' token NDK: expected initializer before '<' token BowItem.h NDK: expected ';' at end of member declaration NDK: expected unqualified-id before '<' token NDK: expected ';' at and of member declaration NDK: expected unqualified-id before '<' token

###該当のソースコード

C++

1//BowItem.h 2 3#pragma once 4 5#include <string> 6 7#include "Item.h" 8 9class ItemInstance; 10class Player; 11class BlockID; 12class Entity; 13class Mob; 14class TextureUVCoordinateSet; 15class CameraItemComponent; 16 17class BowItem : public Item { 18public: 19 int _getLauncherPower(int) const; 20 21 BowItem(std::string const&, int); 22 23 virtual ~BowItem(); 24 virtual Item* setIcon(std::string const&, int); 25 virtual int getEnchantSlot() const; 26 virtual int getEnchantValue() const; 27 virtual bool use(ItemInstance&, Player&); 28 virtual void mineBlock(ItemInstance*, BlockID, int, int, int, Entity*); 29 virtual bool releaseUsing(ItemInstance*, Player*, int); 30 virtual void hurtEnemy(ItemInstance*, Mob*, Mob*); 31 virtual TextureUVCoordinateSet& getIcon(int, int, bool) const; 32 BowItem& registerItem<BowItem, chat const (&) [4], int>(char const (&) [4], int&&); 33}; 34 35//DarkBowItem.h 36 37#pragma once 38 39#include "mcpe/item/BowItem.h" 40#include "mcpe/item/ItemInstance.h" 41 42class DarkBowItem : public BowItem { 43public: 44 DarkBowItem(int itemId, std::string dark_bow_standby, int maxdamage); 45 46 BowItem& registerItem<BowItem, char const (&) [4], int>(char const (&) [4], int&&); 47}; 48 49//DarkBowItem.cpp 50 51#include "DarkBowItem.h" 52 53DarkBowItem::DarkBowItem(int itemId, std::string dark_bow_standby, int maxdamage) : BowItem(dark_bow_standby, itemId) { 54 setCategory(CreativeItemCategory::TOOLS); 55 setIcon("dark_bow_standby", 0); 56 setMaxStackSize(1); 57 setStackedByData(true); 58 setMaxDamage(maxdamage); 59 60 char[] bowpart = new char[4] {"dark_bow_standby", "dark_bow_pulling_0", "dark_bow_pulling_1", "dark_bow_pulling_2"}; 61} 62 63BowItem& registerItem<BowItem, char const (&) [4], int>(char const (&) [4] a, int&& b) { 64if(a){ 65return bowpart; 66} 67} 68

###試したこと
BowItem& registerItem<BowItem, char const (&) [4], int>(char const (&) [4] a, int&& b)のaの部分は恐らく弓を引いたときのテクスチャの段階を表しているのだと思ったので、それらしく頑張りました笑

###補足情報(言語/FW/ツール等のバージョンなど)
言語: C++
コンパイル・ビルドのツール: AIDE

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

こんにちは。

エラー・メッセージがどこにでているのか分からないので、追いかけるのが手間ですから、ざっとみて気がついた点をコメントします。

char[] bowpart = new char[4] {"dark_bow_standby", "dark_bow_pulling_0", "dark_bow_pulling_1", "dark_bow_pulling_2"};

もしかして、C#に慣れた方でしょうか?
C#にはchar[] bowpart = ...;のよう構文はありますが、C++にはありません。単純に文法違反です。
文字列へのポインタの配列を定義するのでしたら、例えば次のように書きます。

C++

1char const* bowpart[]={"dark_bow_standby", "dark_bow_pulling_0", "dark_bow_pulling_1", "dark_bow_pulling_2"};

投稿2017/05/07 02:53

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問