--- ktouch/ktouch/touchKeyboard.cpp.orig	Wed Apr  3 13:38:58 2002
+++ ktouch/ktouch/touchKeyboard.cpp	Wed Apr  3 13:46:57 2002
@@ -153,7 +153,7 @@
 	const int maxPara=10;
 	if(lang.isEmpty())
 		lang="en";
-	ifstream ifs(dirs->findResource("data","ktouch/keyboard." + lang).latin1(), ios::in);
+	::ifstream ifs(dirs->findResource("data","ktouch/keyboard." + lang).latin1(), ::ios::in);
 	if (!ifs)
 		cerr << "Error: unable to open keyboard" << dirs->findResource("data","ktouch/keyboard." + lang).latin1() << endl;
 	else
@@ -241,7 +241,7 @@
 					{
 						if(!keyArray[atoi(keyBoardVector[5].c_str())])
 						{
-							cerr << "Error in line: " << lineNumber << " FingerKey " << keyBoardVector[5] << " key don't exists" << endl;
+							cerr << "Error in line: " << lineNumber << " FingerKey " << keyBoardVector[5].c_str() << " key don't exists" << endl;
 						}
 
 						string *s;
@@ -276,17 +276,17 @@
 					{
 						if(!keyArray[atoi(keyBoardVector[2].c_str())])
 						{
-							cerr << "Error in line: " << lineNumber << " TargetKey " << keyBoardVector[2] << " key don't exists" << endl;
+							cerr << "Error in line: " << lineNumber << " TargetKey " << keyBoardVector[2].c_str() << " key don't exists" << endl;
 						}
 
 						if(!keyArray[atoi(keyBoardVector[3].c_str())])
 						{
-							cerr << "Error in line: " << lineNumber << " FingerKey " << keyBoardVector[3] << " key don't exists" << endl;
+							cerr << "Error in line: " << lineNumber << " FingerKey " << keyBoardVector[3].c_str() << " key don't exists" << endl;
 						}
 
 						if(!keyArray[atoi(keyBoardVector[4].c_str())])
 						{
-							cerr << "Error in line: " << lineNumber << " ControlKey " << keyBoardVector[4] << " key don't exists" << endl;
+							cerr << "Error in line: " << lineNumber << " ControlKey " << keyBoardVector[4].c_str() << " key don't exists" << endl;
 						}
 
 						keyArray[atoi(keyBoardVector[1].c_str())]=new HiddenKey(
--- kvoctrain/kvoctrain/docprop-dialogs/TypeOptPage.cpp.orig	Wed Apr  3 14:09:48 2002
+++ kvoctrain/kvoctrain/docprop-dialogs/TypeOptPage.cpp	Wed Apr  3 14:44:08 2002
@@ -205,7 +205,7 @@
      }
 
      typeList->removeItem (act);
-     typeIndex.erase (&typeIndex[act], &typeIndex[act+1]);
+     typeIndex.erase (typeIndex.begin()+act, typeIndex.begin()+act+1);
 
      if ((int) typeList->count() <= act)
         act = typeList->count()-1;
--- kvoctrain/kvoctrain/docprop-dialogs/TenseOptPage.cpp.orig	Wed Apr  3 14:43:49 2002
+++ kvoctrain/kvoctrain/docprop-dialogs/TenseOptPage.cpp	Wed Apr  3 14:44:32 2002
@@ -210,7 +210,8 @@
      }
 
      tenseList->removeItem (act);
-     tenseIndex.erase (&tenseIndex[act], &tenseIndex[act+1]);
+     tenseIndex.erase (tenseIndex.begin()+act, tenseIndex.begin()+act+1);
+
 
      if ((int) tenseList->count() <= act)
         act = tenseList->count()-1;
--- kvoctrain/kvoctrain/docprop-dialogs/UsageOptPage.cpp.orig	Wed Apr  3 14:45:24 2002
+++ kvoctrain/kvoctrain/docprop-dialogs/UsageOptPage.cpp	Wed Apr  3 14:45:41 2002
@@ -222,7 +222,8 @@
      }
 
      usageList->removeItem (act);
-     usageIndex.erase (&usageIndex[act], &usageIndex[act+1]);
+     usageIndex.erase (usageIndex.begin()+act, usageIndex.begin()+act+1);
+
 
      if ((int) usageList->count() <= act)
        act = usageList->count()-1;
--- kvoctrain/kvoctrain/docprop-dialogs/LessOptPage.cpp.orig	Wed Apr  3 15:01:56 2002
+++ kvoctrain/kvoctrain/docprop-dialogs/LessOptPage.cpp	Wed Apr  3 15:03:45 2002
@@ -195,7 +195,7 @@
      }
 
      lessonList->removeItem (act);
-     lessonIndex.erase (&lessonIndex[act], &lessonIndex[act+1]);
+     lessonIndex.erase (lessonIndex.begin()+act, lessonIndex.begin()+act+1);
 
      if ((int) lessonList->count() <= act)
         act = lessonList->count()-1;
@@ -297,7 +297,7 @@
      if (translate_index[lessons_in_query[i]] > 0)
        lessons_in_query[i] = translate_index[lessons_in_query[i]];
      else
-       lessons_in_query.erase(&lessons_in_query[i]);
+       lessons_in_query.erase(lessons_in_query.begin()+i);
    }
 
    // only keep remaining lesson member indices
--- kvoctrain/kvoctrain/queryoption-dialogs/ThreshOptPage.cpp.orig	Wed Apr  3 14:03:24 2002
+++ kvoctrain/kvoctrain/queryoption-dialogs/ThreshOptPage.cpp	Wed Apr  3 14:03:30 2002
@@ -59,6 +59,7 @@
  *                                                                         *
  ***************************************************************************/
 
+#include <fstream.h>
 #include "ThreshOptPage.h"
 
 #include <iostream.h>
--- kvoctrain/kvoctrain/kvt-core/kvt-xml/XmlReader.h.orig	Wed Apr  3 15:13:00 2002
+++ kvoctrain/kvoctrain/kvt-core/kvt-xml/XmlReader.h	Wed Apr  3 15:19:39 2002
@@ -23,6 +23,8 @@
 #include "XmlElement.h"
 #include "XmlTokenizer.h"
 
+using namespace std;
+
 class KOXML_ISTREAM;
 
 /**
--- kvoctrain/kvoctrain/kvt-core/kvt-xml/XmlElement.h.orig	Wed Apr  3 15:19:52 2002
+++ kvoctrain/kvoctrain/kvt-core/kvt-xml/XmlElement.h	Wed Apr  3 15:20:09 2002
@@ -24,6 +24,8 @@
 #include "koxml_config.h"
 #include <list>
 
+using namespace std;
+
 /**
  * An instance of XmlAttribute represents an attribute of 
  * XML elements. It provides methods for accessing the attribute 
--- kvoctrain/kvoctrain/kvt-core/langset.cpp.orig	Wed Apr  3 15:21:03 2002
+++ kvoctrain/kvoctrain/kvt-core/langset.cpp	Wed Apr  3 15:21:56 2002
@@ -35,6 +35,7 @@
  ***************************************************************************/
 
 
+#include <fstream.h>
 #include "langset.h"
 #include <iostream.h>
 
@@ -85,7 +86,7 @@
 void LangSet::erase (int idx)
 {
   if (idx >= 0 && idx < (int) langs.size() )
-    langs.erase (&langs[idx], &langs[idx+1]);
+    langs.erase (langs.begin()+idx, langs.begin()+idx+1);
 }
 
 
--- kvoctrain/kvoctrain/kvt-core/kvoctrainexpr.cpp.orig	Wed Apr  3 15:22:47 2002
+++ kvoctrain/kvoctrain/kvt-core/kvoctrainexpr.cpp	Wed Apr  3 15:26:08 2002
@@ -489,67 +489,67 @@
      return;
 
    if (idx <= numTranslations())
-     translations.erase (&translations[idx-1], &translations[idx]);
+     translations.erase (translations.begin()+idx-1, translations.begin()+idx);
 
    if (idx < (int)remarks.size() )
-     remarks.erase (&remarks[idx], &remarks[idx+1]);
+     remarks.erase (remarks.begin()+idx, remarks.begin()+idx+1);
 
    if (idx < (int)conjugations.size() )
-     conjugations.erase (&conjugations[idx], &conjugations[idx+1]);
+     conjugations.erase (conjugations.begin()+idx, conjugations.begin()+idx+1);
 
    if (idx < (int)comparisons.size() )
-     comparisons.erase (&comparisons[idx], &comparisons[idx+1]);
+     comparisons.erase (comparisons.begin()+idx, comparisons.begin()+idx+1);
 
    if (idx < (int)fauxAmi.size() )
-     fauxAmi.erase (&fauxAmi[idx], &fauxAmi[idx+1]);
+     fauxAmi.erase (fauxAmi.begin()+idx, fauxAmi.begin()+idx+1);
 
    if (idx < (int)rev_fauxAmi.size() )
-     rev_fauxAmi.erase (&rev_fauxAmi[idx], &rev_fauxAmi[idx+1]);
+     rev_fauxAmi.erase (rev_fauxAmi.begin()+idx, rev_fauxAmi.begin()+idx+1);
 
    if (idx < (int)synonym.size() )
-     synonym.erase (&synonym[idx], &synonym[idx+1]);
+     synonym.erase (synonym.begin()+idx, synonym.begin()+idx+1);
 
    if (idx < (int)example.size() )
-     example.erase (&example[idx], &example[idx+1]);
+     example.erase (example.begin()+idx, example.begin()+idx+1);
 
    if (idx < (int)usageLabels.size() )
-     usageLabels.erase (&usageLabels[idx], &usageLabels[idx+1]);
+     usageLabels.erase (usageLabels.begin()+idx, usageLabels.begin()+idx+1);
 
    if (idx < (int)paraphrases.size() )
-     paraphrases.erase (&paraphrases[idx], &paraphrases[idx+1]);
+     paraphrases.erase (paraphrases.begin()+idx, paraphrases.begin()+idx+1);
 
    if (idx < (int)antonym.size() )
-     antonym.erase (&antonym[idx], &antonym[idx+1]);
+     antonym.erase (antonym.begin()+idx, antonym.begin()+idx+1);
 
    if (idx < (int)exprtypes.size() )
-     exprtypes.erase (&exprtypes[idx], &exprtypes[idx+1]);
+     exprtypes.erase (exprtypes.begin()+idx, exprtypes.begin()+idx+1);
 
    if (idx < (int)pronunces.size() )
-     pronunces.erase (&pronunces[idx], &pronunces[idx+1]);
+     pronunces.erase (pronunces.begin()+idx, pronunces.begin()+idx+1);
 
    if (idx < (int)grades.size() )
-     grades.erase (&grades[idx], &grades[idx+1]);
+     grades.erase (grades.begin()+idx, grades.begin()+idx+1);
 
    if (idx < (int)rev_grades.size() )
-     rev_grades.erase (&rev_grades[idx], &rev_grades[idx+1]);
+     rev_grades.erase (rev_grades.begin()+idx, rev_grades.begin()+idx+1);
 
    if (idx < (int)qcounts.size() )
-     qcounts.erase (&qcounts[idx], &qcounts[idx+1]);
+     qcounts.erase (qcounts.begin()+idx, qcounts.begin()+idx+1);
 
    if (idx < (int)rev_qcounts.size() )
-     rev_qcounts.erase (&rev_qcounts[idx], &rev_qcounts[idx+1]);
+     rev_qcounts.erase (rev_qcounts.begin()+idx, rev_qcounts.begin()+idx+1);
 
    if (idx < (int)bcounts.size() )
-     bcounts.erase (&bcounts[idx], &bcounts[idx+1]);
+     bcounts.erase (bcounts.begin()+idx, bcounts.begin()+idx+1);
 
    if (idx < (int)rev_bcounts.size() )
-     rev_bcounts.erase (&rev_bcounts[idx], &rev_bcounts[idx+1]);
+     rev_bcounts.erase (rev_bcounts.begin()+idx, rev_bcounts.begin()+idx+1);
 
    if (idx < (int)qdates.size() )
-     qdates.erase (&qdates[idx], &qdates[idx+1]);
+     qdates.erase (qdates.begin()+idx, qdates.begin()+idx+1);
 
    if (idx < (int)rev_qdates.size() )
-     rev_qdates.erase (&rev_qdates[idx], &rev_qdates[idx+1]);
+     rev_qdates.erase (rev_qdates.begin()+idx, rev_qdates.begin()+idx+1);
 }
 
 
--- kvoctrain/kvoctrain/kvt-core/kvoctraindoc.cpp.orig	Wed Apr  3 15:27:01 2002
+++ kvoctrain/kvoctrain/kvt-core/kvoctraindoc.cpp	Wed Apr  3 15:28:58 2002
@@ -95,6 +95,7 @@
  ***************************************************************************/
 
 
+#include <fstream.h>
 #include "kvoctraindoc.h"
 
 #include <kapplication.h>
@@ -378,7 +379,7 @@
 void kvoctrainDoc::removeEntry(int index)
 {
   if (index >= 0 && index < (int)vocabulary.size() )
-    vocabulary.erase (&vocabulary[index], &vocabulary[index+1]);
+    vocabulary.erase (vocabulary.begin()+index, vocabulary.begin()+index+1);
 }
 
 
@@ -583,7 +584,7 @@
 void kvoctrainDoc::removeIdent (int index)
 {
   if (index < (int)langs.size() && index >= 1 ) {
-    langs.erase(&langs[index], &langs[index+1]);
+    langs.erase(langs.begin()+index, langs.begin()+index+1);
     for_each (vocabulary.begin(), vocabulary.end(), eraseTrans(index));
   }
 }
@@ -961,7 +962,7 @@
 }
 
 #define _OFFSET     0x40
-#define _BITMASK    0x3F
+#define __BITMASK    0x3F
 #define _BITUSED    6
 
 QString kvoctrainDoc::compressDate(unsigned long l) const
@@ -975,7 +976,7 @@
    else
      l -= KVD_ZERO_TIME;
    while (l != 0) {
-     char c = _OFFSET + (l & _BITMASK);
+     char c = _OFFSET + (l & __BITMASK);
      res.insert (0, c);
      l >>= _BITUSED;
    }
@@ -992,7 +993,7 @@
    unsigned incr = 0;
    for (int i = s.length()-1; i >= 0; i--) {
      char c = s.local8Bit()[i];
-     res += ((c - _OFFSET) & _BITMASK) << incr ;
+     res += ((c - _OFFSET) & __BITMASK) << incr ;
      incr += _BITUSED;
    }
    return res > 48 ? res+KVD_ZERO_TIME : 0;  // early bug with "0"
--- kvoctrain/kvoctrain/kvt-core/GrammerManager.cpp.orig	Wed Apr  3 15:32:14 2002
+++ kvoctrain/kvoctrain/kvt-core/GrammerManager.cpp	Wed Apr  3 15:32:35 2002
@@ -310,7 +310,7 @@
         && ctp->pers3_f_plur.stripWhiteSpace().isEmpty()
         && ctp->pers3_n_plur.stripWhiteSpace().isEmpty()
        )
-     conjugations.erase(&conjugations[i], &conjugations[i+1]);
+     conjugations.erase(conjugations.begin()+i, conjugations.begin()+i+1);
   }
 }
 
--- kvoctrain/kvoctrain/kvt-core/UsageManager.cpp.orig	Wed Apr  3 15:33:16 2002
+++ kvoctrain/kvoctrain/kvt-core/UsageManager.cpp	Wed Apr  3 15:33:35 2002
@@ -51,6 +51,7 @@
  *                                                                         *
  ***************************************************************************/
 
+#include <fstream.h>
 #include "UsageManager.h"
 #include "kvoctraincore.h"
 
--- kvoctrain/kvoctrain/kvt-core/QueryManager.cpp.orig	Wed Apr  3 15:34:18 2002
+++ kvoctrain/kvoctrain/kvt-core/QueryManager.cpp	Wed Apr  3 15:35:04 2002
@@ -54,6 +54,7 @@
  *                                                                         *
  ***************************************************************************/
 
+#include <fstream.h>
 #include "QueryManager.h"
 #include "kvoctraincore.h"
 
@@ -318,7 +319,7 @@
    // remove empty lesson elements
    for (int i = (int) random.size()-1; i >= 0; i--)
      if (random[i].size() == 0)
-       random.erase(&random[i], &random[i+1]);
+       random.erase(random.begin()+i, random.begin()+i+1);
    return random;
 }
 
@@ -385,7 +386,7 @@
    // remove empty lesson elements
    for (int i = (int) random.size()-1; i >= 0; i--)
      if (random[i].size() == 0)
-       random.erase(&random[i], &random[i+1]);
+       random.erase(random.begin()+i, random.begin()+i+1);
 
    return random;
 }
@@ -464,7 +465,7 @@
    // remove empty lesson elements
    for (int i = (int) random.size()-1; i >= 0; i--)
      if (random[i].size() == 0)
-       random.erase(&random[i], &random[i+1]);
+       random.erase(random.begin()+i, random.begin()+i+1);
 
    return random;
 }
--- kvoctrain/kvoctrain/entry-dialogs/EntryDlg.cpp.orig	Wed Apr  3 15:07:59 2002
+++ kvoctrain/kvoctrain/entry-dialogs/EntryDlg.cpp	Wed Apr  3 15:08:11 2002
@@ -96,6 +96,7 @@
  ***************************************************************************/
 
 
+#include <fstream.h>
 #include "EntryDlg.h"
 #include <kvoctraindoc.h>
 #include <kmainwindow.h>
--- kvoctrain/kvoctrain/query-dialogs/QueryDlgBase.cpp.orig	Wed Apr  3 13:54:05 2002
+++ kvoctrain/kvoctrain/query-dialogs/QueryDlgBase.cpp	Wed Apr  3 13:55:01 2002
@@ -51,6 +51,7 @@
  *                                                                         *
  ***************************************************************************/
 
+#include <fstream.h>
 #include "QueryDlgBase.h"
 
 #include <qlineedit.h>
--- kvoctrain/kvoctrain/query-dialogs/MCQueryDlg.cpp.orig	Wed Apr  3 13:56:24 2002
+++ kvoctrain/kvoctrain/query-dialogs/MCQueryDlg.cpp	Wed Apr  3 13:56:33 2002
@@ -79,6 +79,7 @@
  *                                                                         *
  ***************************************************************************/
 
+#include <fstream.h>
 #include "MCQueryDlg.h"
 #include "QueryDlgBase.h"
 
--- kvoctrain/kvoctrain/query-dialogs/RandomQueryDlg.cpp.orig	Wed Apr  3 13:57:28 2002
+++ kvoctrain/kvoctrain/query-dialogs/RandomQueryDlg.cpp	Wed Apr  3 13:57:39 2002
@@ -75,6 +75,7 @@
  *                                                                         *
  ***************************************************************************/
 
+#include <fstream.h>
 #include "RandomQueryDlg.h"
 #include "MyProgress.h"
 
--- kvoctrain/kvoctrain/query-dialogs/SimpleQueryDlg.cpp.orig	Wed Apr  3 13:58:18 2002
+++ kvoctrain/kvoctrain/query-dialogs/SimpleQueryDlg.cpp	Wed Apr  3 13:58:24 2002
@@ -71,6 +71,7 @@
  *                                                                         *
  ***************************************************************************/
 
+#include <fstream.h>
 #include "SimpleQueryDlg.h"
 #include "QueryDlgBase.h"
 
--- kvoctrain/kvoctrain/query-dialogs/VerbQueryDlg.cpp.orig	Wed Apr  3 13:59:19 2002
+++ kvoctrain/kvoctrain/query-dialogs/VerbQueryDlg.cpp	Wed Apr  3 13:59:28 2002
@@ -76,6 +76,7 @@
  *                                                                         *
  ***************************************************************************/
 
+#include <fstream.h>
 #include "VerbQueryDlg.h"
 #include "QueryDlgBase.h"
 #include "MyProgress.h"
--- kvoctrain/kvoctrain/kva_io.cpp.orig	Wed Apr  3 15:37:45 2002
+++ kvoctrain/kvoctrain/kva_io.cpp	Wed Apr  3 15:38:07 2002
@@ -765,7 +765,7 @@
   // remove empty elements
   for (int i = (int) queryList.size()-1; i >= 0; i--)
     if (queryList[i].size() == 0) {
-      queryList.erase(&queryList[i], &queryList[i+1]);
+      queryList.erase(queryList.begin()+i, queryList.begin()+i+1);
     }
 
   query_cycle = 1;
--- kvoctrain/kvoctrain/kvoctrain.cpp.orig	Wed Apr  3 15:39:06 2002
+++ kvoctrain/kvoctrain/kvoctrain.cpp	Wed Apr  3 15:39:35 2002
@@ -1025,7 +1025,7 @@
     // include non-lesson and non-empty string
     if (kv->getLesson() == 0) {
       kv->setLesson(1);
-      sel.erase (&sel[nr], &sel[nr+1]);
+      sel.erase (sel.begin()+nr, sel.begin()+nr+1);
       cnt++;
     }
   }
@@ -1097,7 +1097,7 @@
        }
        int nr = random.getLong(randomList.size());
        randomList[nr]->setLesson(less_no);
-       randomList.erase(&randomList[nr], &randomList[nr+1]);
+       randomList.erase(randomList.begin()+nr, randomList.begin()+nr+1);
      }
 
      vector<QString> new_lessonStr;
--- kvoctrain/kvoctrain/main.cpp.orig	Wed Apr  3 15:41:17 2002
+++ kvoctrain/kvoctrain/main.cpp	Wed Apr  3 15:41:28 2002
@@ -93,7 +93,7 @@
  *                                                                         *
  ***************************************************************************/
 
-
+#include <fstream.h>
 #include "kvoctrain.h"
 #include "kvoctraincore.h"
 #include <iostream.h>
--- kvoctrain/kvoctrain/kva_clip.cpp.orig	Wed Apr  3 15:43:23 2002
+++ kvoctrain/kvoctrain/kva_clip.cpp	Wed Apr  3 15:44:32 2002
@@ -145,7 +145,7 @@
 /*  perhaps skip missing ??
   for (int i = csv_order.size()-1; i >= 0; i--)
     if (csv_order[i] == -1)
-      csv_order.erase(&csv_order[i], &csv_order[i+1]);
+      csv_order.erase(csv_order.begin()+i, csv_order.begin()+i+1);
 */
   // append indices from doc if no order given
   for (int i = 0; i < doc->numLangs(); i++)
@@ -161,7 +161,7 @@
     if (csv_order[i] != -1)
       break;
     else
-      csv_order.erase(&csv_order[i], &csv_order[i+1]);
+      csv_order.erase(csv_order.begin()+i, csv_order.begin()+i+1);
   }
 
   return csv_order;
--- kvoctrain/kvoctrain/kva_query.cpp.orig	Wed Apr  3 15:45:53 2002
+++ kvoctrain/kvoctrain/kva_query.cpp	Wed Apr  3 15:54:54 2002
@@ -202,7 +202,7 @@
   query_startnum = 0;
   if (queryList.size() > 0) {
    random_expr1 = queryList[0];
-   queryList.erase(&queryList[0], &queryList[0+1]);
+   queryList.erase(queryList.begin(), queryList.begin()+1);
    query_startnum = (int) random_expr1.size();
   }
 
@@ -278,21 +278,21 @@
       }
       else {
         random_expr2.push_back (random_expr1[random_query_nr]);
-        random_expr1.erase (&random_expr1[random_query_nr], &random_expr1[random_query_nr+1]);
+        random_expr1.erase (random_expr1.begin()+random_query_nr, random_expr1.begin()+random_query_nr+1);
       }
     break;
 
     case QueryDlgBase::Unknown :
       num_queryTimeout = 0;
       random_expr2.push_back (random_expr1[random_query_nr]);
-      random_expr1.erase (&random_expr1[random_query_nr], &random_expr1[random_query_nr+1]);
+      random_expr1.erase (random_expr1.begin()+random_query_nr, random_expr1.begin()+random_query_nr+1);
     break;
 
     case QueryDlgBase::Known :
       num_queryTimeout = 0;
       query_num--;
 
-      random_expr1.erase (&random_expr1[random_query_nr], &random_expr1[random_query_nr+1]);
+      random_expr1.erase (random_expr1.begin()+random_query_nr, random_expr1.begin()+random_query_nr+1);
       if (   random_expr1.size() != 0
           || random_expr2.size() != 0
           || queryList.size() != 0 ) {
@@ -330,7 +330,7 @@
     else {  // next lesson
       query_cycle = 1;
       random_expr1 = queryList[0];
-      queryList.erase(&queryList[0], &queryList[0+1]);
+      queryList.erase(queryList.begin(), queryList.begin()+1);
     }
   }
 
@@ -380,7 +380,7 @@
   query_startnum = 0;
   if (queryList.size() > 0) {
    random_expr1 = queryList[0];
-   queryList.erase(&queryList[0], &queryList[0+1]);
+   queryList.erase(queryList.begin(), queryList.begin()+1);
    query_startnum = (int) random_expr1.size();
   }
   for (int i = 0; i < (int) queryList.size(); i++) {
@@ -496,21 +496,21 @@
       }
       else {
         random_expr2.push_back (random_expr1[random_query_nr]);
-        random_expr1.erase (&random_expr1[random_query_nr], &random_expr1[random_query_nr+1]);
+        random_expr1.erase (random_expr1.begin()+random_query_nr, random_expr1.begin()+random_query_nr+1);
       }
     break;
 
     case QueryDlgBase::Unknown :
       num_queryTimeout = 0;
       random_expr2.push_back (random_expr1[random_query_nr]);
-      random_expr1.erase (&random_expr1[random_query_nr], &random_expr1[random_query_nr+1]);
+      random_expr1.erase (random_expr1.begin()+random_query_nr, random_expr1.begin()+random_query_nr+1);
     break;
 
     case QueryDlgBase::Known :
       num_queryTimeout = 0;
       query_num--;
 
-      random_expr1.erase (&random_expr1[random_query_nr], &random_expr1[random_query_nr+1]);
+      random_expr1.erase (random_expr1.begin()+random_query_nr, random_expr1.begin()+random_query_nr+1);
       if (   random_expr1.size() != 0
           || random_expr2.size() != 0
           || queryList.size() != 0 ) {
@@ -549,7 +549,7 @@
     else {  // next lesson
       query_cycle = 1;
       random_expr1 = queryList[0];
-      queryList.erase(&queryList[0], &queryList[0+1]);
+      queryList.erase(queryList.begin(), queryList.begin()+1);
     }
   }
   hide();
@@ -676,7 +676,7 @@
   query_startnum = 0;
   if (queryList.size() > 0) {
    random_expr1 = queryList[0];
-   queryList.erase(&queryList[0], &queryList[0+1]);
+   queryList.erase(queryList.begin(), queryList.begin()+1);
    query_startnum = (int) random_expr1.size();
   }
   for (int i = 0; i < (int) queryList.size(); i++) {
@@ -815,7 +815,7 @@
       }
       else {
         random_expr2.push_back (random_expr1[random_query_nr]);
-        random_expr1.erase (&random_expr1[random_query_nr], &random_expr1[random_query_nr+1]);
+        random_expr1.erase (random_expr1.begin()+random_query_nr, random_expr1.begin()+random_query_nr+1);
 
         if (oindex == 0) {
           exp->incBadCount(tindex, false);
@@ -831,7 +831,7 @@
     case QueryDlgBase::Unknown :
       num_queryTimeout = 0;
       random_expr2.push_back (random_expr1[random_query_nr]);
-      random_expr1.erase (&random_expr1[random_query_nr], &random_expr1[random_query_nr+1]);
+      random_expr1.erase (random_expr1.begin()+random_query_nr, random_expr1.begin()+random_query_nr+1);
 
       if (oindex == 0) {
         exp->incBadCount(tindex, false);
@@ -864,7 +864,7 @@
       }
 
       exp->setInQuery(false);
-      random_expr1.erase (&random_expr1[random_query_nr], &random_expr1[random_query_nr+1]);
+      random_expr1.erase (random_expr1.begin()+random_query_nr, random_expr1.begin()+random_query_nr+1);
       if (!(   random_expr1.size() != 0
             || random_expr2.size() != 0
             || queryList.size() != 0 )) {
@@ -900,7 +900,7 @@
     else {  // next lesson
       query_cycle = 1;
       random_expr1 = queryList[0];
-      queryList.erase(&queryList[0], &queryList[0+1]);
+      queryList.erase(queryList.begin(), queryList.begin()+1);
     }
   }
 
