0 / 0 / 0
Регистрация: 07.08.2017
Сообщений: 1
1

Vector, push_back. Cannot convert parameter 1 from 'person' to 'person ^'

07.08.2017, 14:23. Показов 1090. Ответов 1
Метки нет (Все метки)

Помогите разобраться с push_back. Появляется ошибка error C2664: 'void std::vector<_Ty>:: push_back(person ^)' : cannot convert parameter 1 from 'person' to 'person ^'

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
void GetData()
{
                  Stream^myStream;
                  OpenFileDialog^dialog=gcnew OpenFileDialog;
 
              if(dialog->ShowDialog()==System::Windows::Forms::DialogResult::OK)
              {
                  if((myStream=dialog->OpenFile())!=nullptr)
                  {
 
                String^strfilename=dialog->InitialDirectory+dialog->FileName;
                 StreamReader^ din = File::OpenText(strfilename);
            
            String^ Readfile=File::ReadAllText(strfilename);
                                
            richTextBox1->Text=Readfile;
 
           vector<person> arrOfNames;
        int counter=0; //counts yhe number of elements in vector
                
        int j=0;
        String^str;
         while ((str = din->ReadLine()) != nullptr)  
        {
            int spacePos[3];
            int posIndex=0;
            counter++;
 
            for(int i=0;i<str->Length;i++)
            {
                if(str[i]==' ')
                {spacePos[posIndex]=i;
                posIndex++;
                }
 
            }
            //noe we have position of the space, so we can delimi the line into 3 words
            String^ firstName=str->Substring(0, spacePos[0]);
            textBox1->Text+=firstName+" "; 
            //last name starts from first space+1, and the length is second space position-firstspace position minus 1
            String^ lastName=str->Substring(spacePos[0]+1,spacePos[1]-spacePos[0]-1);
            textBox2->Text+=lastName+" ";
            int age=System::Convert::ToInt32(str->Substring(spacePos[1]+1,spacePos[2]-spacePos[1]-1)); //convert to integer
            textBox3->Text+=System::Convert::ToString(age)+" ";
            int id=System::Convert::ToInt32(str->Substring(spacePos[2]));
            textBox4->Text+=System::Convert::ToString(id)+" ";
            
arrOfNames.push_back(person(firstName, lastName, age, id));//ошибка указывается здесь
        }
        
        myStream->Close(); 
        
  }
}
}
объявление класса в файле person.h

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef PERSON_H
#define PERSON_H
#include<msclr/marshal.h>
using namespace System;
public ref class person
{
private:
    String^ strFirstName;
    String^ strLastName;
    int intAge;
    int intID;
public:
    person(void); //default constructor
    person(String^,String^,int,int);
    ~person(void);
    //setting values
    void setFirstName(String^);
    void setLastName(String^);
    void setAge(int);
    void setID(int);
    
    //get values
  String^ getFirstName()  {return  strFirstName;}
     String^ getLastName() {return strLastName;}
    int getAge()  {return intAge;}
    int getID() {return intID;}
};
 
#endif
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.08.2017, 14:23
Ответы с готовыми решениями:

Ошибка: cannot convert 'person*' to 'char*'
#include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;stdlib.h&gt; struct person {...

Создайте класс person. Создайте тип people, описывающий массив элементов типа person.
Создайте класс person. У него должны быть поля: name: string; sex: (&quot;муж&quot;, &quot;жен&quot;); height:...

Разница между объявлениями const Person p1 и Person const p1
Всем привет. Собственно весь вопрос уместился в заголовок: в чем разница между объявлениями...

Класс Person
Добрый день, форумчане. Решал задание из книги С.Прата, №2 из главы 10. Пусть имеется определение...

1
Администратор
Эксперт .NET
15247 / 12286 / 4904
Регистрация: 17.03.2014
Сообщений: 24,883
Записей в блоге: 1
07.08.2017, 14:56 2
Augustina, попробуй vector<person^>
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.08.2017, 14:56
Помогаю со студенческими работами здесь

Класс Person
Помогите пожалуйста. Нужно сделать лабу. Описать базовый класс PERSON (персона) со свойствами: •...

класс person
помгите пожалуйста переписать кусочек кода predicates onSortListClick :...

Класс Person
Здравствуйте! Задание: Разработать класс Person, который содержит соответствующие члены для...

Class Person
Еще одна интересная задача попалась. Подскажите как сделать. Create class Person. Class...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru