Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 180
1

Ошибка при передаче в функцию

18.06.2014, 17:54. Показов 968. Ответов 7
Метки нет (Все метки)

Хочу передать в функцию строку и там ее заполнить, подчеркивает
void karta(MyStruct s.karta[],int size);
И пишет: 1 IntelliSense: expected a ')' c:\Users\student.ITSTEP1.004\Documents\Visual Studio 2012\Projects\Testyr\Testyr\Test.cpp 14

Кто знает в чем проблема?

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
#include <iostream>
#include <time.h>
#include <string>
using namespace std;
 
 
struct MyStruct{
const int size=10;
string karta[size];
//int mast;
}s;
 
void mast(int mast);
void karta(MyStruct s.karta[],int size);
 
void main(){
    srand(time(0));
    setlocale(LC_ALL,"rus");
    cout<<"Вывод карт"<<endl;
    //(s.mast);
    system("pause");
}
//Рэнд на масти
void mast(int mast){
}
//Рэнд на карты
void karta(MyStruct s.karta[],int size){
 
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2014, 17:54
Ответы с готовыми решениями:

Ошибка при передаче параметра в функцию
В ДЗ есть пример кода, помогите пожалуйста исправить, до работающего варианта (VS2015). Ошибки:...

Ошибка при передаче двумерного массива в функцию
cannot convert 'int (*)' to 'int**' for argument '1' to 'void func(int**, int, int)' ...

Ошибка при передаче двумерного массива в функцию
Помогите пожалуйста, никак не могу разобраться. Я хочу чтобы функция createBlankGameField() ввела...

Ошибка при передаче в функцию указателя на элемент массива
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;cstdlib&gt; #include &lt;cmath&gt; ...

7
Модератор
Эксперт С++
10694 / 8864 / 5354
Регистрация: 18.12.2011
Сообщений: 23,726
18.06.2014, 17:58 2
Цитата Сообщение от Леонид Каруна Посмотреть сообщение
void karta(MyStruct s.karta[],int size);
C++
1
void karta(MyStruct sss,int size);
1
zzzZZZ...
525 / 356 / 94
Регистрация: 11.09.2013
Сообщений: 2,040
18.06.2014, 17:59 3
void karta(MyStruct *karta,int size)
1
Master of Orion
Эксперт .NET
6082 / 4938 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
18.06.2014, 18:12 4
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
#include <iostream>
#include <time.h>
#include <string>
using namespace std;
 
struct MyStruct{
    static const int size = 10;
    string karta[size];
}s;
 
void mast(int);
void karta(MyStruct*, int);
 
void main(){
    srand(time(0));
    setlocale(LC_ALL, "rus");
    cout << "Вывод карт" << endl;
    //(s.mast);
    system("pause");
}
//Рэнд на масти
void mast(int mast){
}
//Рэнд на карты
void karta(MyStruct* s, int size){
 
}
1
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 180
18.06.2014, 18:25  [ТС] 5
Что-то додуплиться не могу, с указателем понял, а по другому ни как?
Вот простой пример, в котором подчеркивает строку MyStruct s.karta [10] , не пойму почему, кто может объяснить?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
using namespace std;
 
struct MyStruct {
char mast[4];
char karta[9];
}s;
 
void main(){
    setlocale(LC_ALL,"rus");
    cout<<"Вывод карт"<<endl;
    //s.mast[4]="Бубна";
    MyStruct s.karta [10] = {
    "Иванов", "Петров", "Сидоров",
    "Ахмедов", "Ерошкин", "Выхин",
    "Андеев", "Вин Дизель", "Картошкин", "Чубайс"
};
 
 
    system("pause");
}
0
Master of Orion
Эксперт .NET
6082 / 4938 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
18.06.2014, 18:33 6
Леонид Каруна, потому что это вообще не по-русски (в смысле не по нормам С++) написано -> MyStruct s.
0
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 180
18.06.2014, 20:03  [ТС] 7
И последний вопрос, я не могу записать сразу в массив строк данные, тип такого:
C++
1
s.karta[size]={"fgdf","fgdf","fgdf","fgdf","fgdf","fgdf","fgdf","fgdf","fgdf","fgdf"};
Когда у меня числовой тип, то все в порядке, а если строки, то нет.
Если информация про это, как их заполнять?
0
Модератор
Эксперт С++
10694 / 8864 / 5354
Регистрация: 18.12.2011
Сообщений: 23,726
18.06.2014, 21:23 8
Лучший ответ Сообщение было отмечено Леонид Каруна как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
struct MyStruct {
char mast[4];
char karta[9];
}s;
int main()
{
    setlocale(LC_ALL,"rus");
    cout<<"Вывод карт"<<endl;
    strcpy(s.mast,"Буб");//Поместятся только 3 символа  
    strcpy(s.karta,"Иванов"); // не более 8 символов
     cout<<s.mast<<" "<<s.karta<<endl;
    system("pause");
}
Если нужен массив структур, то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
struct MyStruct {
char mast[4];
char karta[9];
};
int main()
{
    setlocale(LC_ALL,"rus");
    MyStruct s[3]={ {"Буб","Иванов"},{"Пик","Петров"},{"Чер","Сидоров"} };
    cout<<"Вывод карт"<<endl;
    for(int i=0;i<3;i++)
        cout<<s[i].mast<<" "<<s[i].karta<<endl;
    system("pause");
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2014, 21:23

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Ошибка при передаче двумерного массива в функцию std::thread
Здравствуйте! Написал программу на потоки, теперь нужно передать туда двумерный массив. Пытаюсь...

Ошибка при передаче объекта класса в функцию, а может и нет
Здравствуйте, гляньте пожалуйста код, в чем проблема? Спасибо. Ошибка : main.cpp:73:5: error: use...

Написать процедуру для суммирования матриц. Ошибка при передаче массива в функцию
Помогите пожалуйста! Дано задание: Написать процедуру для суммирования матриц. С ее помощью...

Теряется строка при передаче в функцию
Привет Замучался копать уже. Теряется строка при передаче её в функцию. Код такой: char* Read()...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.