C++/ubuntu - 模板错误
c++/ubuntu - templates error
我有以下代码:文件.h:
#ifndef __ANA_H__
#define __ANA_H__
template <class T>
class ana {
class ana1{//code
}*anna1;
public:
bool method(T& data,ana::ana1 &a);
};
#endif
文件.cpp:
#include <ana.h>
#include <iostream>
using namespace std;
template <class T>
bool ana<T>::method(T& data,ana::ana1 &t) {
cout << "Data = " << data << endl;
if(data > 0) {
return true;
}
return false;
}
我有错误:ana::ana1 is not a type
.如何解决此错误?我错在哪里?需要一些帮助。我在 Ubuntu 工作,我使用 G++ 编译代码。我从我发布的 .h 和.cpp创建一个 .a。
// (declaration):
bool method(T& data, ana1& t);
和
// (definition):
bool ana<T>::method(T& data, typename ana<T>::ana1& t) {
使用模板,您应该将声明和定义放入同一个文件中。在您的情况下,这可能如下所示:
#ifndef __ANA_H__
#define __ANA_H__
template <class T>
class ana {
class ana1{//code
}*anna1;
public:
bool method(T& data,ana1 &a) {
cout << "Data = " << data << endl;
if(data > 0) {
return true;
}
return false;
}
};
#endif
相关文章:
- 分段 Linux Ubuntu 中的 g++ 错误,但在 Windows 中的 g++/MingW 中,在 C++ 中打
- 这是 ubuntu 16.04 中的 gdb 错误吗?
- 链接器错误-在ubuntu中找不到CMake和Cuda 10.1的lcudart
- 为什么以下代码在在线 ide(gcc 7.2.0) 上有效,但在 ubuntu 上出现错误?
- 当有 icqdesktop 错误时如何编辑制作文件 (制作: *** [所有] 错误 2) Ubuntu 18.04 6
- Clang格式不使用.clang格式的文件ubuntu(没有错误)
- cmake cuda在Windows上单独的编译静态LIB链接错误,但在Ubuntu上没有
- Open AL 的函数在 ubuntu 中使用 g++ 编译时给出未定义引用的错误
- 在 Ubuntu 17.04 x64 下使用 SpiderMonkey (libmozjs-45.0.2) 的分段错误
- 在Boost标头文件中编译错误.Centos 7失败,在Ubuntu上编译16.04
- 如何在 Ubuntu 16.10 上使用柯南和 SDL2 解决未定义的引用错误?
- Ubuntu E:子进程 /usr/bin/dpkg 返回错误代码 (1)
- 在 Ubuntu 14.04 上构建 AWS c++ 配置库时出现"return type is incomplete"错误
- GRPC编译错误Protobuf 3.2.0(用旧版本的Protoc生成文件)Ubuntu 16.04
- 我正在尝试在Ubuntu 14上安装libgtk2.0-dev,但出现了一些错误
- 使用GCC v4.8在Ubuntu 14.04上定义C 11中元组向量时的编译错误
- 在Ubuntu 14.04启动我的应用程序时,非法说明(核心转储)错误,如何查看转储
- OpenCV 安装错误 Ubuntu
- Eclipse C/C++:外部库的交叉编译链接器错误:Ubuntu VM amd64 to Ubuntu armhf
- opengl程序编译但运行时给出错误(UBUNTU 14.04)