Connecting Tech Pros Worldwide Forums | Help | Site Map

Compiler Error

elShazo@gmail.com
Guest
 
Posts: n/a
#1: Apr 22 '07
I am getting this error on compile "expected unqualified-id at end of
input".

Here is the block of code that generates the error:

/* Proxy unmountSource I/O */
/* Method unmountSource */
void unmountSource(string theSource)
{
string source = theSource;
string unmount = "unmount ";
string unmountFull = unmount + source;
string rmdir = "rmdir ";
string rmdirFull = rmdir + source;
system(unmountFull.c_str());
system(rmdirFull.c_str());
}
/* EMethod */
/* EProxy */

Compiler points to the line that has the end curly brace. Any ideas or
at least what the error means?


Ian Collins
Guest
 
Posts: n/a
#2: Apr 22 '07

re: Compiler Error


elShazo@gmail.com wrote:
Quote:
I am getting this error on compile "expected unqualified-id at end of
input".
>
Here is the block of code that generates the error:
>
/* Proxy unmountSource I/O */
/* Method unmountSource */
void unmountSource(string theSource)
{
string source = theSource;
string unmount = "unmount ";
string unmountFull = unmount + source;
string rmdir = "rmdir ";
string rmdirFull = rmdir + source;
system(unmountFull.c_str());
system(rmdirFull.c_str());
}
/* EMethod */
/* EProxy */
>
Compiler points to the line that has the end curly brace. Any ideas or
at least what the error means?
>
There's nothing wrong with the above, assuming string is an alias for
std::string, so the error is somewhere else.

Post a minimal compilable example that demonstrates your problem.

--
Ian Collins.
elShazo@gmail.com
Guest
 
Posts: n/a
#3: Apr 22 '07

re: Compiler Error


Here is the full code (its fairly short):

/*
* Installer for TrainTrafficKing
* Will allow user to install game to directory of choice
*/


#include <iostream>
#include <fstream>


using namespace std;

class install
{
/*void mountSource(string);
string getDestination();
void checkDesExists(string);
void createDest(string);
void installGame(string, string);
void unmountSource(string); */

/* Proxy Main Logic */
/* Method Main */
int main()
{

string destination;
string source = "/mnt/TrafficKing";

cout<<"Preparing to install Train TrafficKing..." << "/n" << "You must
have root privileges to install this game." << "/n" << "If you do NOT
have root privileges, please contact your System Administrator." << "/
n" ;

mountSource(source);
destination = getDestination();
createDest(destination);
installGame(source, destination);
unmountSource(source);
cout << "Thank you for installing Train TrafficKing";
}
/* EMethod */
/* EProxy */

/* Proxy mountSource I/O */
/* Method mountSource */
void mountSource(string theSource)
{

string mkdir = "mkdir ";
string source = theSource;
string mkdirFull = mkdir + source;
string mount = "mount /dev/cdrom -t 9660 ";
string mountFull = mount + source;
system(mkdirFull.c_str());
system(mountFull.c_str());
}
/* EMethod */
/* EProxy */

/* Proxy getDestination I/O */
/* Method getDestination */
string getDestination()
{
string destination;
cout<< "Please enter a destination to install Train TrafficKing";
cin >destination;
return destination;
}
/* EMethod */
/* EProxy */



/* Proxy createDest I/O */
/* Method createDest */
void createDest(string theDestination)
{
string destination = theDestination;
string rmdir = "rm -r ";
string rmdirFull = rmdir + destination;
string mkdir = "mkdir ";
string mkdirFull = mkdir + destination;
system(rmdirFull.c_str());
system(mkdirFull.c_str());
}
/* EMethod */
/* EProxy */

/* Proxy installGame I/O */
/* Method installgame */
void installGame(string theSource, string theDestination)
{
string destination = theDestination;
string source = theSource;
string copy = "cp -R ";
string copyFull = copy + source + " " + destination;
system(copyFull.c_str());
}
/* EMethod */
/* EProxy */

/* Proxy unmountSource I/O */
/* Method unmountSource */
void unmountSource(string theSource)
{
string source = theSource;
string unmount = "unmount ";
string unmountFull = unmount + source;
string rmdir = "rmdir ";
string rmdirFull = rmdir + source;
system(unmountFull.c_str());
system(rmdirFull.c_str());
}
/* EMethod */
/* EProxy */

/* End Installer */
}

Ian Collins
Guest
 
Posts: n/a
#4: Apr 22 '07

re: Compiler Error


elShazo@gmail.com wrote:
Quote:
Here is the full code (its fairly short):
>
I can see two reasons why it won't compile:
Quote:
int main()
{
>
string destination;
string source = "/mnt/TrafficKing";
>
cout<<"Preparing to install Train TrafficKing..." << "/n" << "You must
have root privileges to install this game." << "/n" << "If you do NOT
have root privileges, please contact your System Administrator." << "/
n" ;
>
mountSource(source);
destination = getDestination();
createDest(destination);
installGame(source, destination);
unmountSource(source);
cout << "Thank you for installing Train TrafficKing";
}
Missing return.
Quote:
/* End Installer */
}
>
Missing semicolon.

--
Ian Collins.
Salt_Peter
Guest
 
Posts: n/a
#5: Apr 23 '07

re: Compiler Error


On Apr 22, 5:57 pm, elSh...@gmail.com wrote:
Quote:
Here is the full code (its fairly short):
>
/*
* Installer for TrainTrafficKing
* Will allow user to install game to directory of choice
*/
>
#include <iostream>
#include <fstream>
>
using namespace std;
>
class install
{
/*void mountSource(string);
string getDestination();
void checkDesExists(string);
void createDest(string);
void installGame(string, string);
void unmountSource(string); */
>
/* Proxy Main Logic */
/* Method Main */
int main()
{
>
string destination;
string source = "/mnt/TrafficKing";
>
cout<<"Preparing to install Train TrafficKing..." << "/n" << "You must
have root privileges to install this game." << "/n" << "If you do NOT
have root privileges, please contact your System Administrator." << "/
n" ;
>
mountSource(source);
destination = getDestination();
createDest(destination);
installGame(source, destination);
unmountSource(source);
cout << "Thank you for installing Train TrafficKing";}
>
/* EMethod */
/* EProxy */
>
/* Proxy mountSource I/O */
/* Method mountSource */
void mountSource(string theSource)
{
>
string mkdir = "mkdir ";
string source = theSource;
string mkdirFull = mkdir + source;
string mount = "mount /dev/cdrom -t 9660 ";
string mountFull = mount + source;
system(mkdirFull.c_str());
system(mountFull.c_str());}
>
/* EMethod */
/* EProxy */
>
/* Proxy getDestination I/O */
/* Method getDestination */
string getDestination()
{
string destination;
cout<< "Please enter a destination to install Train TrafficKing";
cin >destination;
return destination;}
>
/* EMethod */
/* EProxy */
>
/* Proxy createDest I/O */
/* Method createDest */
void createDest(string theDestination)
{
string destination = theDestination;
string rmdir = "rm -r ";
string rmdirFull = rmdir + destination;
string mkdir = "mkdir ";
string mkdirFull = mkdir + destination;
system(rmdirFull.c_str());
system(mkdirFull.c_str());}
>
/* EMethod */
/* EProxy */
>
/* Proxy installGame I/O */
/* Method installgame */
void installGame(string theSource, string theDestination)
{
string destination = theDestination;
string source = theSource;
string copy = "cp -R ";
string copyFull = copy + source + " " + destination;
system(copyFull.c_str());}
>
/* EMethod */
/* EProxy */
>
/* Proxy unmountSource I/O */
/* Method unmountSource */
void unmountSource(string theSource)
{
string source = theSource;
string unmount = "unmount ";
string unmountFull = unmount + source;
string rmdir = "rmdir ";
string rmdirFull = rmdir + source;
system(unmountFull.c_str());
system(rmdirFull.c_str());}
>
/* EMethod */
/* EProxy */
>
/* End Installer */
>
}
What follows is not a class:

class A
{
}

But this is:

class A
{
};

You should
#include <string>
if you plan to use std::string and pass it by reference to functions
or you'll end up invoking std::string copy ctor unneccessarily. Not to
mention that you'ld be modifying a local only.

void foo( std::string& r_s ) // or const std::string&
{
// do stuff with r_s
}

All of the above is basic, fundamental, unavoidable, required
knowledge.
What book are you reading?


Closed Thread