By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
445,655 Members | 959 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 445,655 IT Pros & Developers. It's quick & easy.

Compiler Error

P: n/a
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?

Apr 22 '07 #1
Share this Question
Share on Google+
4 Replies


P: n/a
el*****@gmail.com wrote:
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.
Apr 22 '07 #2

P: n/a
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 */
}

Apr 22 '07 #3

P: n/a
el*****@gmail.com wrote:
Here is the full code (its fairly short):
I can see two reasons why it won't compile:
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.
/* End Installer */
}
Missing semicolon.

--
Ian Collins.
Apr 22 '07 #4

P: n/a
On Apr 22, 5:57 pm, elSh...@gmail.com wrote:
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?
Apr 23 '07 #5

This discussion thread is closed

Replies have been disabled for this discussion.