Ik wil een c++ functies schrijven waarin ik complexe getallen gebruik. De compiler die ik gebruik is g++-3.3. Om de een of andere reden kan ik het onderstaande testprogrammatje niet compileren:
Als ik dit compile met 'g++ -o complextest.o complextest.cc' krijg ik de volgende foutmeldingen:
Er gaat blijkbaar iets fout met de include statements. Ik heb alleen redelijk basale C++ kennis, en toen ik C++ leerde, werden libraries geinclued met '#include<library.h>', maar dat doet het hier net zo min.
Wat is hier aan de hand?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| #include <complex>
#include <iostream>
using namespace std;
int main() {
complex double a;
complex double b;
a=1.+2.*I;
b=2.+1.*I;
cout << "sum: " << a + b << endl;
cout << "dif: " << a - b << endl;
} |
Als ik dit compile met 'g++ -o complextest.o complextest.cc' krijg ik de volgende foutmeldingen:
code:
1
2
3
4
5
6
7
8
9
10
11
| complextest.cc: In function `int main()': complextest.cc:6: error: use of class template `template<class _Tp> class std::complex' as expression complextest.cc:6: error: parse error before `double' complextest.cc:7: error: use of class template `template<class _Tp> class std::complex' as expression complextest.cc:9: error: `a' undeclared (first use this function) complextest.cc:9: error: (Each undeclared identifier is reported only once for each function it appears in.) complextest.cc:9: error: `I' undeclared (first use this function) complextest.cc:10: error: `b' undeclared (first use this function) |
Er gaat blijkbaar iets fout met de include statements. Ik heb alleen redelijk basale C++ kennis, en toen ik C++ leerde, werden libraries geinclued met '#include<library.h>', maar dat doet het hier net zo min.
Wat is hier aan de hand?