rhapsodyを使用して構造体にスマートポインタを定義しようとしましたが、すでにヘッダーファイル "memory"が含まれています。しかし、私はC++、エラー:名前空間 'std'の 'shared_ptr'がテンプレートタイプの名前ではありません
typedef std::shared_ptr<my_structure> %s;
rhapsodyを使用して構造体にスマートポインタを定義しようとしましたが、すでにヘッダーファイル "memory"が含まれています。しかし、私はC++、エラー:名前空間 'std'の 'shared_ptr'がテンプレートタイプの名前ではありません
typedef std::shared_ptr<my_structure> %s;
上のエラーを得たveは私はあなたがstd::shared_ptr
なくstd::shared
意味だと思います。
%
は、C++の型名では無効です。
あなたの意図は、タイプエイリアスを作成することであるならば、あなたはこの
using MyType_t = std::shared_ptr<my_structure>;
ような何かを行う必要があり、あなたの目的はタイプstd::shared_ptr<my_structure>
の変数を作成することである場合は、この
std::shared_ptr<my_structure> ptr;
不要% アクセス指定子は通常printf( "%s"、arg)に%で始まります。
ベストウェイは です。std :: shared_ptr ptr;
「%s」はアクセス指定子ではなく**書式**指定子です。しかし、型や変数の名前としては有効ではありません。それにかかわらず、これは質問に答えません。 –
「%」は何をしていますか?コンパイラはそれを受け入れないことは間違いありません。 – Rakete1111
今後の質問では、完全なサンプルプログラムとエラーを含める必要があります。 – jodag
私はshared_ptrを意味していましたが、それは正常に動作しませんでした –