2017-07-02 66 views
0

我试图创建一个具有未定义大小作为类成员的向量的类。我的代码:作为类成员的未定义大小的向量

的main.cpp

#include "Polynom.h" 
#include <iostream> 
#include <vector> 
using namespace std; 

int main() { 
    Polynom p {{7,-2,3,0,0,8}}; 
    return 0; 
} 

Polynom.h

#ifndef INC_0001_POLYNOM_H 
#define INC_0001_POLYNOM_H 

#include "Polynom.h" 
#include <iostream> 
#include <vector> 
using namespace std; 

class Polynom { 
private: 
    vector<int> vec; 
public: 
    Polynom(vector<int> vec); 
}; 


#endif //INC_0001_POLYNOM_H 

Polynom.cpp

#include "Polynom.h" 
#include <iostream> 
#include <vector> 
using namespace std; 

Polynom::Polynom(vector<int> vec){ 
    this->vec=vec; 
} 

但瓦特henever我尝试运行此代码我收到以下错误,

main.cpp:7: undefined reference to `Polynom::Polynom(std::vector<int, std::allocator<int> >)' 

代码较长起初但我有太多的错误,当我试图运行它。所以我试图运行裸骨...

PS:我想创建一个类,我必须输入例如7,-2,3,0,0,8然后couts 8x^5 + 0x^4 + 0x^3 + 3x^2 + -2x^1 + 7x^0(用一种方法),但不确定我输入多少个数字。

编辑:我用CLion,CMakeList是:

cmake_minimum_required(VERSION 3.7) 
project(0001) 

set(CMAKE_CXX_STANDARD 14) 

set(SOURCE_FILES main.cpp) 
add_executable(0001 ${SOURCE_FILES}) 

MinGW version 5.0 
Bundled CMake 3.7.2 
Bundled GDB 7.11.1 

What is an undefined reference/unresolved external symbol error and how do I fix it?

心不是有益的,因为我是相对新的C++和上线是writen很复杂,我不明白什么(一第二不要它甚至如何与错误消息旁边我的问题)

还有是根据克利翁有一个参数类型不匹配(在Polynom p {{7,-2,3,0,0,8}};)的另一个问题。这意味着应该有其他问题。

如何调整我的构造函数,因此它可以建立一个类这样Polynom p {{7,-2,3,0,0,8}};

+0

问题在于你如何构建代码。你正在运行什么确切的构建步骤?你不知道怎么连接'Polynom.cpp'。 –

+0

如何链接Polynom.cpp?我想创建一个类,我必须输入例如7,-2,3,0,0,8然后couts 8x^5 + 0x^4 + 0x^3 + 3x^2 + -2x^1 + 7x^0 – sapi3ntia

+2

Polynom.h不需要#include“Polynom.h” –

回答

0

您应该添加的代码下面的链接选项:

g++ main.cpp polynom.cpp -std=c++0x

我试过这个方法来解决你的问题。

+0

好的,在CLion中,你必须将文件添加到CMakeLists中,如果它没有在创建文件时添加它,例如:set(SOURCE_FILES main.cpp Smoothie.cpp Smoothie.h Zutat.cpp Zutat.h) add_executable(CLion $ {SOURCE_FILES} Smoothie.cpp Smoothie.h Zutat.cpp Zutat.h) – sapi3ntia