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

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

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

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

Q&A

1回答

906閲覧

.cuファイルでメンバ関数を呼び出す

hamusuke

総合スコア4

C++

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

0グッド

0クリップ

投稿2020/07/09 07:03

前提・実現したいこと

ヘッダファイルで作成したメンバ関数を、.cuファイルで呼び出したいと思い、下のようなコードを作成したがエラーが発生している。

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

namespace "year::month" has no member "Day1"

該当のソースコード

C++

1//Test_1.hで次のように定義する-以下Test_1.h 2namespace year{ 3namespace month{ 4 5class Day1 : public Thread { 6 public: 7 Day1(const day& options, 8 const std::string& timespace_path, 9 const std::string& timespace_format, 10 const std::string& option_name); 11 12 void hour(const day& options, 13 const size_t test_idx); 14 } 15} 16}

C++

1//Test_2.cuで上のDay1を呼び出す-以下Test_2.cu 2#include "month/Test_1.h" 3 4namespace year{ 5namespace month{ 6 7void Day2(){ 8month::Day1 *days; 9days.hour(); 10} 11} 12]

試したこと

別のヘッダファイルTest_3.ccを作ってTest_2.cuと同じように呼び出すとエラーが発生せず動作する。.cuファイルの場合呼び出し方が変わるのか調べたがそういった内容は見当たらなかった。

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

VS2019

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

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

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

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

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

guest

回答1

0

cuという拡張子ではC++のソースファイルとして認識しないので、コンパイル対象になりません

投稿2020/07/09 08:14

y_waiwai

総合スコア87747

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

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

hamusuke

2020/07/09 08:38

コンパイル対象にならないため、呼び出すことはできないということでしょうか。それとも、そもそも.cuはコンパイルされないので自分がやろうとしていることはできない、ということでしょうか。
y_waiwai

2020/07/09 08:40 編集

コンパイルされないためできない、ってことですね。 もしかして、コマンドラインで直接指定するならできるかもしれませんが。 で、なぜその拡張子でなければいけないんでしょうか。
hamusuke

2020/07/09 09:23

GPUを使用するためにCUDA独自の拡張子を使っています。 .cu内で書いたコードが出力結果に反映されるようにCMakeList等で既に設定してあるコードを現在改良している段階です。このような状態でも.cuはコンパイルされないため質問に書いたようなことはできない、ということになるのでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問