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

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

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

各要素の名前の重複による衝突が起こらないよう、一意の名前をつけなければならない範囲のことであり、また、プログラミングにおける識別名を付加する機能のをNamespace(名前空間)と呼ぶ。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

C++

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

Q&A

解決済

1回答

1077閲覧

namespaceの中の関数の中で関数の宣言をするには

XVK

総合スコア10

Namespace

各要素の名前の重複による衝突が起こらないよう、一意の名前をつけなければならない範囲のことであり、また、プログラミングにおける識別名を付加する機能のをNamespace(名前空間)と呼ぶ。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

C++

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

0グッド

0クリップ

投稿2021/05/27 12:12

編集2021/05/27 12:25

名前空間の中の関数の中で同じ名前空間内で下部に定義される関数の**"宣言を直近に配置し"**テストする方法が知りたいです
宣言をファイル上部まで移動することなく解決する方法が知りたいです
一時的なテストによって汚れる部位を近くにまとめたい意図です

namespace my_namespace{ //...ここに長いコード void honban_func()//本番用コード { //...ここに長いコード void test_func();//このように宣言をこのテストの呼び出し近くに置きたい test_func();//テストとしてこれを採用検討してみる //...ここに長いコード } void test_func()//採用するかどうか微妙なテストコード { //...処理 } }

追記です

環境:Visual Studio 2019

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

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

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

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

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

guest

回答1

0

ベストアンサー

このように宣言をこのテストの呼び出し近くに置きたい

あまり一般的ではないですが、プロトタイプ宣言を関数内で行うことは可能です(プロトタイプ宣言自体も関数内でのみ有効となります)。この通りに書いたコードで問題なく動作します。

paiza.ioで動作させた例

投稿2021/05/27 12:19

maisumakun

総合スコア145183

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

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

XVK

2021/05/27 12:24

Visual Studio 2019 で現在作業中のソースに上記を貼り付けるとこうなります 使用環境を追記しておきます error LNK2019: 未解決の外部シンボル "void __cdecl func2(void)" (?func2@@YAXXZ) が関数 "void __cdecl ns::func1(void)" (?func1@ns@@YAXXZ) で参照されました 1> 定義済みの一致する可能性があるシンボルに関するヒント: 1> "void __cdecl ns::func2(void)" (?func2@ns@@YAXXZ)
itagagaki

2021/05/27 13:28

宣言を extern void test_func(); としてあげるとVisual Studio C++14でもうまくいきました。
XVK

2021/05/27 13:48

出来ました。 ありがとうございました。
XVK

2021/05/27 13:55

解決しましたがここの文化作法としてこの木にベストアンサーで正しいんでしょうか 少し待ってみます
itagagaki

2021/05/28 02:32

maisumakunさん、もしよろしければ Visual Studio 2019 (C++14) の場合について回答に追記しておいていただけますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問