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

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

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

Q&A

解決済

2回答

929閲覧

C++での他ファイルの関数を参照し,出力する方法

kototoko

総合スコア2

0グッド

0クリップ

投稿2022/11/07 14:28

前提

ここに質問の内容を詳しく書いてください。
(例)
C++で別のファイル内にある関数を別のファイルで使いたいです.
他のcppファイル内にある関数を,別のcppファイルで利用して出力したいです.
な機能を実装中に以下のエラーメッセージが発生しました。

実現したいこと

ここに実現したいことを箇条書きで書いてください。

  • B.cppファイル内で関数create_svlist()を行った際に求めるベクトルsvを,returnなどを用いて出力したいです.
  • A.cppファイルを実行した際に,B.hを通してB.cppの関数で求めたベクトルsvを別の値に入れ,コマンドプロンプトでそれの構造や含まれている数値を可視化したいです.

発生している問題・エラーメッセージ

ファイル名 B.cpp void oj::create_svlist() { sv = new vtp[tsv()]; int n = 0; vtp q = xsv(); while(q) { sv[n++] = q; q = q->zsv(); } return sv; } ------------------------------------------------- error: return-statement with a value, in function returning ‘void’ [-fpermissive] return sv; ^~~~~~

該当のソースコード

C++

1ファイル名 B.cpp 2void 3oj::create_svlist() 4{ 5 sv = new vtp[tsv()]; 6 7 int n = 0; 8 vtp q = xsv(); 9 while(q) { 10 sv[n++] = q; q = q->zsv(); 11 } 12} 13------------------------------------- 14ファイル名 : B.h 15class elm; class vt; class oj; 16 17typedef class elm *elmp; 18typedef class vt *vtp; 19typedef class oj *ojp; 20 21class oj : public elm 22{ 23public: 24 vtp *sv; 25 void create_svlist(); 26} 27------------------------------------------------------ 28ファイル名 : A.cpp 29void A::Trwa () 30{ 31 ojp bn = pts(bnpts, name); 32 33 bn -> oj::create_svlist(); 34}

試したこと

B.cpp内で,svを出力できるようにしようとしたが,できなかった.
A.cpp内で,bn -> oj::create_svlist(); と置き,B.cppの関数を呼べるようにした.

補足情報(FW/ツールのバージョンなど)

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

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

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

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

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

guest

回答2

0

C++

1#include

投稿2022/11/07 14:32

atcoderyellow

総合スコア481

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

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

episteme

2022/11/07 23:52

何を回答したつもりなんですかね?
atcoderyellow

2022/11/08 05:37

あなたはあなたのパソコンにフレームワークをインポートする必要がある。 DNSを用いて暗号化されたファイルをウイルスの心配なくインストールできる。
guest

0

ベストアンサー

error: return-statement with a value, in function returning ‘void’ [-fpermissive]

void (戻り値がない) と宣言されているのに return で値を返しているよ、というエラーです。
oj::create_svlist() の戻り値の型 void を返したい値の型(vtp*?)に変更しましょう。B.cpp と B.h の両方で変更する必要があります。

投稿2022/11/07 21:45

編集2022/11/07 22:29
int32_t

総合スコア20845

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

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

kototoko

2022/11/08 03:28

助言通りに変更したら,出力することができました. ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問