1

Objective C プロジェクトで C++ の Template クラスを使用したいと考えています。サポートされていることを確認しました。

C++ で記述されたテンプレート クラスをインポートしようとすると
、'クラス' のプロトコル宣言が見つかりませんなどのような多くのエラーが発生します。

誰でも簡単な例を教えてください。
返事を待っています。

4

1 に答える 1

1

目的の C++ コードを .mm ファイルに入れていますか? .mm ファイルを使用して、objective-c と c に加えて c++ 構造の解析を許可することをコンパイラに伝える必要があります。


ヘッダー ファイルの名前を単に .h から .mm に変更することはできません。#include / #import ディレクティブを含むファイルの名前を変更する必要があります。

// file: main.m
#import "cppclassdef.h" //will not work
#import "cppclassdef.mm" // also will not work. additionally will confuse XCode which will try to compile the .mm file by itself.

// file: main.mm
#import "cppclassdef.h" // this is how to do it.
于 2010-01-14T13:40:43.687 に答える