error: expected unqualified-id before ‘if’

You can’t have free-standing code like that. All code needs to go into functions. Wrap all that in a main function and you should be ok once you’ve fixed your use of QTextStream (it has no eof method, and it doesn’t have a readline method either – please look at the API docs that come with usage examples).

unsigned int vs. size_t

The size_t type is the unsigned integer type that is the result of the sizeof operator (and the offsetof operator), so it is guaranteed to be big enough to contain the size of the biggest object your system can handle (e.g., a static array of 8Gb). The size_t type may be bigger than, equal to, or smaller than an unsigned int, and your compiler … Read more

‘typeid’ versus ‘typeof’ in C++

C++ language has no such thing as typeof. You must be looking at some compiler-specific extension. If you are talking about GCC’s typeof, then a similar feature is present in C++11 through the keyword decltype. Again, C++ has no such typeof keyword. typeid is a C++ language operator which returns type identification information at run time. It basically returns a type_info object, which … Read more

Passing a 2D array to a C++ function

There are three ways to pass a 2D array to a function: The parameter is a 2D arrayint array[10][10]; void passFunc(int a[][10]) { // … } passFunc(array); The parameter is an array containing pointersint *array[10]; for(int i = 0; i < 10; i++) array[i] = new int[10]; void passFunc(int *a[10]) //Array containing pointers { // … Read more

getline() does not work if used after some inputs

haracters are extracted until either (n – 1) characters have been extracted or the delimiting character is found (which is delimiter if this parameter is specified, or ‘\n’ otherwise). The extraction also stops if the end of the file is reached in the input sequence or if an error occurs during the input operation. When cin.getline() reads … Read more

Using “super” in C++

Bjarne Stroustrup mentions in Design and Evolution of C++ that super as a keyword was considered by the ISO C++ Standards committee the first time C++ was standardized. Dag Bruck proposed this extension, calling the base class “inherited.” The proposal mentioned the multiple inheritance issue, and would have flagged ambiguous uses. Even Stroustrup was convinced. After discussion, Dag Bruck … Read more