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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

C++

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

Q&A

解決済

1回答

7789閲覧

NDK: invalid use of incomplete type 'class UseDuration'

ShuperDark

総合スコア11

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

C++

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

0グッド

0クリップ

投稿2017/05/06 16:56

編集2017/05/06 17:04

NDK: invalid use of incomplete type 'class UseDuration'というエラーに困っています...
C++初心者なので何をすればいいのかわかりません!どなたか助けてください!お願いします。
ちなみにエラーの箇所は下記の「if(itemstack.getMaxUseDuration() >= 20) {」と、
「if(itemstack.getMaxUseDuration() >= 10) {」、
「if(itemstack.getMaxUseDuration() >= 0) {」に引かさっています。

//DarkBowItem.cpp

#include "DarkBowItem.h"

std::string DarkBowItem::textures[2];

DarkBowItem::DarkBowItem(int itemId, std::string dark_bow_standby, int maxdamage) : BowItem(dark_bow_standby, itemId) {
setCategory(CreativeItemCategory::TOOLS);
setIcon("dark_bow_standby", 0);
setMaxStackSize(1);
setStackedByData(true);
setMaxDamage(maxdamage);
setHandEquipped();

textures[0] = "dark_bow_pulling_0";
textures[1] = "dark_bow_pulling_1";
textures[2] = "dark_bow_pulling_2";
}

bool DarkBowItem::use(ItemInstance& itemstack, Player& player) {
if(itemstack.getMaxUseDuration() >= 20) {
return setIcon(textures[0], 0);
}
if(itemstack.getMaxUseDuration() >= 10) {
return setIcon(textures[1], 1);
}
if(itemstack.getMaxUseDuration() >= 0) {
return setIcon(textures[2], 2);
}
return DarkBowItem::use(itemstack, player);
}

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

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

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

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

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

guest

回答1

0

ベストアンサー

ええっと、まず変数itemstackの型ですが、ItemInstance&型ですね。で、ItemInstanceクラスってどういう定義ですかね?

以前の質問的に
https://teratail.com/questions/74350
MCPE APIかと思って調べても

cpp

1class Item { 2public: 3 char filler_item[76]; 4}; 5struct Block; 6struct CompoundTag; 7 8struct ItemInstance { 9 uint8_t count; // 0 10 short data; // 2 11 CompoundTag* userData; // 4 12 bool valid; // 8 13 Item* item; // 12 14 Block* block; // 16 15};

ぐらいしか情報が見つけられなかった。

まあそんなことはどうでもよくって、

invalid use of incomplete type 'class UseDuration'

って本当にこのcppファイルのエラーですか?getMaxUseDurationメンバ関数の定義でUseDurationクラスを実体化しようとして定義が見つからなかった、というエラーにしか見えないんですが。


(そりゃそうと、APIリスト的なものってどっかにないんですかね?MCPE Native API。apkを各自展開しないといけないのか?
https://wenku.baidu.com/view/78f2afeccaaedd3382c4d306.html?re=view
読んだ感じそんなこと言っているけど。
まあ何れにせよたかが回答するためにそこまでやる気にはなれんなぁ。

結論:情報不足
)

投稿2017/06/10 10:25

yumetodo

総合スコア5850

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問