title: How do you fix c++ expected primary expression error?
body: <p>So, i'm new to c++ programming, and as a assignment my teacher is having us create an app. I started coding it and this is what i came up with. I tried to compile the code in CodeBlocks and it gave me quite a few errors:</p>
  
  <p><strong>error: expected primary-expression before 'petProfile'</strong>
  in int main() in case 1 through case 3 of the switch statement.</p>
  
  <p><strong>error: no match for 'operator=' in '(*(petProfile + ((sizetype) ((unsigned int)petIndex) * 4u))))->Pet::vaccNames = nextVaccN'</strong>
  It comes from this line of code: <em>petProfile[petIndex]->vaccNames = nextVaccN;</em></p>
  
  <p>Same kind of error for: <em>petProfile[petIndex]->vaccDates = nextVaccD;</em></p>
  
  <p><em>And, petProfile[petIndex]->timeBetween = nextTimeDiff;</em></p>
  
  <p>Any help i could get would really be appreciated, Thank you.</p>
  
  <pre><code>//Constant
  
  const int maxNumOfPet = 8;
  
  //Functions
  
  void newProfile(Pet petProfile);
  
  void updateExist(Pet petProfile);
  
  void viewPetFile(Pet petProfile);
  
  void howToUse();
  
  int main()
  {
      int usersOption;
      int* optionPointer = &amp;usersOption;
      Pet petProfile[maxNumOfPet];
  
      //the do while loop will start here, it will display the start menu, and  direct to the different functions
      //until the user selects to exit.
      do
      {
          //Displays the different options to the user.
          cout &lt;&lt; "\n1) Create New Pet Profile" &lt;&lt; endl;
          cout &lt;&lt; "2) Update A Existing Profile" &lt;&lt; endl;
          cout &lt;&lt; "3) View A Pet Profile" &lt;&lt; endl;
          cout &lt;&lt; "4) How To Use" &lt;&lt; endl;
          cout &lt;&lt; "5) Quit" &lt;&lt; endl;
  
          cout &lt;&lt; "Please pick the option you wish to do." &lt;&lt; endl;
          cin &gt;&gt; *optionPointer;
  
          switch (usersOption)
          {
          case 1:
              newProfile(Pet petProfile);
              break;
          case 2:
              updateExist(Pet petProfile);
              break;
          case 3:
              viewPetFile(Pet petProfile);
              break;
          case 4:
              howToUse();
              break;
          case 5:
              cout &lt;&lt; "Bye, Bye!";
              return 0;
          }   //End of Switch Statement
      } while (usersOption &gt;= 1 || usersOption &lt; 5);
  
      return 0;
  }
  
  void newProfile(Pet *petProfile[], const int maxNumOfPet)
  {
      int changeOp;
      int nextVaccD;
      char correct;
      double nextTimeDiff;
      string nextVaccN;
      int petIndex = 0;
  
      while (petIndex &lt;= maxNumOfPet)
      {
          //check if Pet is empty
          while (petProfile[petIndex]-&gt;petNames.empty())
          {
              //Will receive the users input for the following topics, and add it   to their vectors.
  
              cout &lt;&lt; "Please enter your pet's name, Or enter 0 to quit. " &lt;&lt;   endl;
              if ( cin.peek() == '\n' )
                  cin.ignore();
  
              string nextPetN;
              getline(cin, nextPetN);
  
              if (nextPetN == "0")
                  return;
  
              //Will add an element to the vector petNames and save the users input to it.
              petProfile[petIndex]-&gt;petNames = nextPetN;
  
              cout &lt;&lt; "Please enter the type of animal you have:" &lt;&lt; endl;
              if ( cin.peek() == '\n' )
                  cin.ignore();
  
              string nextAnimalT;
              getline(cin, nextAnimalT);
  
              //Will add an element to the vector animalType and save the users input to it.
              petProfile[petIndex]-&gt;animalType = nextAnimalT;
  
              cout &lt;&lt; "Please enter the name of a vaccine the pet has got: " &lt;&lt; endl;
              cin &gt;&gt; nextVaccN;
  
              //Will add an element to the vector vaccNames and save the users input to it.
              petProfile[petIndex]-&gt;vaccNames = nextVaccN;
  
              cout &lt;&lt; "Please enter the date " &lt;&lt; nextVaccN &lt;&lt; " was given, in this format MMDDYYYY." &lt;&lt; endl;
              cin &gt;&gt; nextVaccD;
  
              //Will add an element to the vector vaccDates and save the users input to it.
              petProfile[petIndex]-&gt;vaccDates = nextVaccD;
  
              cout &lt;&lt; "Please enter the time difference between each administration of this vaccine: " &lt;&lt; endl;
              cin &gt;&gt; nextTimeDiff;
  
              //Will add an element to the vector timeBetween and save the users input to it.
              petProfile[petIndex]-&gt;timeBetween = nextTimeDiff;
  
              //Recap the information entered, and change if it is necessary.
              cout &lt;&lt; "\nSo far you entered: " &lt;&lt; endl;
              cout &lt;&lt; nextPetN &lt;&lt; endl;
              cout &lt;&lt; nextAnimalT &lt;&lt; endl;
              cout &lt;&lt; nextVaccN &lt;&lt; endl;
              cout &lt;&lt; nextVaccD &lt;&lt; endl;
              cout &lt;&lt; nextTimeDiff &lt;&lt; endl;
  
              cout &lt;&lt; "Is this information correct?" &lt;&lt; endl;
              cout &lt;&lt; "Answer T if this is true or F if this is false" &lt;&lt; endl;
              cin &gt;&gt; correct;
  
              if (correct == 'F' || correct == 'f')
              {
                  cout &lt;&lt; "What do you wish to change: " &lt;&lt; endl;
                  cout &lt;&lt; "1) " &lt;&lt; nextPetN &lt;&lt; endl;
                  cout &lt;&lt; "2) " &lt;&lt; nextAnimalT &lt;&lt; endl;
                  cout &lt;&lt; "3) " &lt;&lt; nextVaccN &lt;&lt; endl;
                  cout &lt;&lt; "4) " &lt;&lt; nextVaccD &lt;&lt; endl;
                  cout &lt;&lt; "5) " &lt;&lt; nextTimeDiff &lt;&lt; endl;
                  cin &gt;&gt; changeOp;
  
                  switch (changeOp)
                  {
                  case 1:
                      cout &lt;&lt; "Please enter your pets' name: " &lt;&lt; endl;
                      getline(cin, nextPetN);
                      break;
  
                  case 2:
                      cout &lt;&lt; "Please enter the type of animal you have:" &lt;&lt; endl;
                      getline(cin, nextAnimalT);
                      break;
  
                  case 3:
                      cout &lt;&lt; "Please enter the name of the vaccines the pet has got: " &lt;&lt; endl;
                      getline(cin, nextVaccN);
                      break;
  
                  case 4:
                      cout &lt;&lt; "Please enter the date " &lt;&lt; nextVaccN &lt;&lt; " was given, in this format MMDDYYYY." &lt;&lt; endl;
                      cin &gt;&gt; nextVaccD;
                      break;
  
                  case 5:
                      cout &lt;&lt; "Please enter the time difference between each administration of this vaccine: " &lt;&lt; endl;
                      cin &gt;&gt; nextTimeDiff;
                      break;
                  } //end switch
              } //end if statement
          }//end second while loop
      } //end first while loop
  
      petIndex++;
  } //end newProfile function
  </code></pre>