Υλοποιώ το παρακάτω πρόγραμμα στον compiler της ms , visual C++ εκδοση του 2005 .
Το πρόγραμμα αυτό είναι παράδειγμα στισ σημειώσεις του κυρίου Κορτέση σελίδα 76 ,και θα έπρεπε βάση των σημειώσεων να εκτυπώνει :
10
$$$$$$$$10
Παρόλα αυτά όταν κάνω compile μου εμφανίζει μία σείρα από λάθη , όπως :
Error 1 error C3646: 'setup' : unknown override specifier c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par32\par32\par32.cpp 14
Error 2 error C2091: function returns function c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par32\par32\par32.cpp 15
Error 3 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par32\par32\par32.cpp 15
Error 4 error C2144: syntax error : 'int' should be preceded by ')' c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par32\par32\par32.cpp 16
Error 5 error C2660: 'OMANIP' : function does not take 0 arguments c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par32\par32\par32.cpp 16
Error 6 error C2059: syntax error : ')' c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par32\par32\par32.cpp 16
Warning 7 warning C4508: 'OMANIP' : function should return a value; 'void' return type assumed c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par32\par32\par32.cpp 17
Error 8 error C2660: 'setup' : function does not take 1 arguments c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par32\par32\par32.cpp 21
τα οποία δεν μπορώ να διορθώσω .
#include<process.h>
#include<iostream>
#include<iomanip>
#include<conio.h>
using std::cin;
using std::cout;
using std::ostream;
using namespace std;
ostream &setup(ostream &s,int len)
{
s<<setw(len)<<setfill('$');
return s;
}
OMANIP (int)setup(int len)
{
return OMANIP (int)(setup,len);
}
void main()
{
cout<<10<<"\n";
cout<<setup(10)<<" "<<10<<" "<<endl;
getch();
}
Το ίδιο πρόβλημα αντιμετωπίζω και στο παράδειγμα σελίδα 77 με κώδικα:
#include<process.h>
#include<iostream>
#include<iomanip>
#include<conio.h>
using std::cin;
using std::cout;
using namespace std;
IOMANIPdeclare(char);
ostream &setup(ostream &s,char c)
{
s<<setw(10)<<setfill(c);
return s;
}
OMANIP(char)setup(char c)
{
return OMANIP(char)(setup,c)
}
void main()
{
cout<<10<<" ";
cout<<setup('#')<<10<<endl;
}
που εμφανίζει τα εξής errors :
Error 1 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par33\par33\par33.cpp 8
Error 2 error C3646: 'setup' : unknown override specifier c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par33\par33\par33.cpp 14
Error 3 error C2091: function returns function c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par33\par33\par33.cpp 15
Error 4 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par33\par33\par33.cpp 15
Error 5 error C2144: syntax error : 'char' should be preceded by ')' c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par33\par33\par33.cpp 16
Error 6 error C2660: 'OMANIP' : function does not take 0 arguments c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par33\par33\par33.cpp 16
Error 7 error C2059: syntax error : ')' c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par33\par33\par33.cpp 16
Warning 8 warning C4508: 'OMANIP' : function should return a value; 'void' return type assumed c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par33\par33\par33.cpp 17
Error 9 error C2660: 'setup' : function does not take 1 arguments c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par33\par33\par33.cpp 21
Και στο παράδειγμα σελίδα 83-84 στις σημειώσεις :
#include<process.h>
#include<iostream>
#include<fstream>
#include<stdlib.h>
#include<conio.h>
using std::cin;
using std::cout;
using namespace std;
void main()
{
int a[]={1,2,3,4,5};
int b[10];
int i;
ofstream ostrm("data.txt");
if(!ostrm){
cout<<"I cannot open the file \n\n";
getch();
exit(1);
}
ostrm.write((unsigned char*)a,sizeof(a));
ostrm.close();
ifstream istrm("data.txt");
if(!istrm){
cout<<"I cannot open the file \n\n";
getch();
exit(1);
}
istrm.read((unsigned char*)b,sizeof(b));
for(i=0;i<5;i++)
{
cout<<b[i]<<"\n";
}
cout<<istrm.gcount()<<"\n\n";
istrm.close();
getch();
}
Μου εμφανίζει τα παρακάτω σφάλματα :
Error 2 error C2664: 'std::basic_ostream<_Elem,_Traits>::write' : cannot convert parameter 1 from 'unsigned char *' to 'const char *' c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par37\par37\par37_read_write.cpp 20
Error 3 error C2664: 'std::basic_istream<_Elem,_Traits>::read' : cannot convert parameter 1 from 'unsigned char *' to 'char *' c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par37\par37\par37_read_write.cpp 28
Ακόμη στο παράδειγμα σελ 100-101
#include<process.h>
#include<iostream>
#include<conio.h>
using std::cout;
using std::cin;
using namespace std;
class A{
int i,j,k,m;
public:
A(int n,int m);
void sum(void);
void prod(void);
};
A::A(int n, int m)
{
i=n;
j=m;
}
void A::sum(void)
{
k=i+j;
}
void A::prod(void)
{
m=i*j;
}
void main()
{
A a(3,4),*p;
int A::*pk;
int A::*pm;
void(A::*psum)(void);
void(A::*pprod)(void);
p=&a;
pk=(&A::k);
pm=&A::m;
psum=&A::sum;
pprod=&A::prod;
(a.*psum)();
(p->*pprod)();
cout<<a.*pk<<" "<<p->*pm<<"\n";
getch();
}
Παρουσιάζει τα εξής σφάλματα :
Error 1 error C2248: 'A::k' : cannot access private member declared in class 'A' c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par43\par43\par43.cpp 35
Error 2 error C2248: 'A::m' : cannot access private member declared in class 'A' c:\documents and settings\administrator\τα έγγραφά μου\visual studio 2005\projects\par43\par43\par43.cpp 36
Μήπως μπορεί κάποιος να βοηθήσει ??