TNT ライブラリ、つまり Template Numerical Toolkit をコンパイルすると、XCode で次のエラーが発生します。
tnt/tnt_array1d_utils.h:33:9: Expected unqualified-id
影響を受けるコード スニペット:
namespace TNT
{
template <class T>
std::ostream& operator<<(std::ostream &s, const Array1D<T> &A)
{
int N=A.dim1(); /// <--- this line 33:9
#ifdef TNT_DEBUG
s << "addr: " << (void *) &A[0] << "\n";
#endif
s << N << "\n";
for (int j=0; j<N; j++)
{
s << A[j] << "\n";
}
s << "\n";
return s;
}
TNTヘッダー全体はこちら
セミコロン「;」を追加しようとしました 各テンプレートの最後までは機能しませんでした:
namespace TNT
{
template <class T>
std::ostream& operator<<(std::ostream &s, const Array3D<T> &A)
{
int M=A.dim1();
int N=A.dim2();
int K=A.dim3();
s << M << " " << N << " " << K << "\n";
for (int i=0; i<M; i++)
{
for (int j=0; j<N; j++)
{
for (int k=0; k<K; k++)
s << A[i][j][k] << " ";
s << "\n";
}
s << "\n";
}
return s;
};
私は使用しています
XCode5 GNU++11 libC++
libstdc++ も試してみました