我是VSCode的新手,我正在研究C ++ multi .cpp编译,但是失败了。错误是:'获得对`Complex :: Complex()''的未定义引用]和下面的2个其他函数这是我的代码
main.cpp
#include "complex.h" int main() { Complex a; a.Input(); a.Display(); return 0; }
complex.h
#include <iostream> using std::cin; using std::cout; using std::endl; class Complex { private: int x,y; public: Complex(); void Input(); void Display(); };
complex.cpp
中将“ complex.h”更改为“ complex.cpp”时,尽管我知道这样做是错误的,但它仍然可以工作。我已经在Visual Studio C ++上尝试过此方法,并且与.h文件一起使用时效果很好我应该如何处理这个vscode?谢谢您的关注。#include "complex.h" Complex::Complex() { x=y=0; } void Complex::Input() { cout<<"Enter complex"<<endl; cout<<"x= ";cin>>this->x; cout<<"y= ";cin>>this->y; } void Complex::Display() { cout<<x; if(y<0) cout<<"-"<<-y<<"i"<<endl; else cout<<"+"<<y<<"i"<<endl; }
但是当我在main.cpp
我是VSCode的新手,我正在研究C ++ multi .cpp编译,但是失败了。错误是:'获得对`Complex :: Complex()的未定义引用以及下面的2个其他函数这是我的代码main.cpp #include“ ...
在complex.h
中将其制成main.cpp
,然后使用> g++ main.cpp complex.cpp -I -o main
进行编译。您需要告诉编译器也编译complex.cpp
。应该可以。