Error c2228 выражение слева от length должно представлять класс структуру или объединение

При компиляции выдаётся следующая ошибка: выражение слева от .print должно представлять класс, структуру или объединение. Код: class Object { private: char* name; char* teacher; sh...

При компиляции выдаётся следующая ошибка:

выражение слева от .print должно представлять класс, структуру или объединение.

Код:

class Object
{
private:
    char* name;
    char* teacher;
    short int hours;
    char* exam;
    float mark;

public:
    Object::Object()
    {
        Object::name = "unknown"; 
        Object::teacher = "unknown";
        Object::hours = 0;
        Object::exam = "unknown";
        Object::mark = 0;
    }

    Object::Object(char *n)
    {
        Object::name = n;
        Object::teacher = "Unknown";
        Object::hours = 0;
        Object::exam = "unknown";
        Object::mark = 0;
    }

    void Object::print()
    {
        std::cout << name << std::endl;
        std::cout << teacher << std::endl;
        std::cout << hours << std::endl;
        std::cout << exam << std::endl;
        std::cout << mark << std::endl;
    }
};

void main()
{
    Object Program1();
    Program1.print();
}

Arhadthedev's user avatar

Arhadthedev

11.4k8 золотых знаков39 серебряных знаков69 бронзовых знаков

задан 8 сен 2016 в 19:34

aleshka-batman's user avatar

2

Это канонический пример most vexing parse. Вы, согласно правилам языка, объявили не экземпляр класса, а прототип функции с пустым списком аргументов, возвращающей Object.

Уберите лишние скобки после Program1.

Object Program1;

Уточнение: чтобы не думать о случае отсутствия конструкторов, лучше писать так: Object Program1{}; (по причинам, сходным с этими), если ваша версия компилятора это позволяет.

Дух сообщества's user avatar

ответ дан 8 сен 2016 в 19:36

VladD's user avatar

VladDVladD

205k27 золотых знаков285 серебряных знаков516 бронзовых знаков

Этот код вообще не соберётся… (в gcc точно)

1) Не нужно везде писать Object:: внутри класса

2) main() должна возвращать int

3) Object Program1(); переделайте в Object Program1;

Вобщем вот так…

  #include <iostream>

class Object
{
private:
    char* name;
    char* teacher;
    short int hours;
    char* exam;
    float mark;

public:
    Object()
    {
        name = "unknown";
        teacher = "unknown";
        hours = 0;
        exam = "unknown";
        mark = 0;
    }

    Object(char *n)
    {
        name = n;
        teacher = "Unknown";
        hours = 0;
        exam = "unknown";
        mark = 0;
    }

    void print()
    {
        std::cout << name << std::endl;
        std::cout << teacher << std::endl;
        std::cout << hours << std::endl;
        std::cout << exam << std::endl;
        std::cout << mark << std::endl;
    }
};

int main()
{
    Object Program1(void);
    Program1.print();
    return 1;
}

По поводу скобочек…

Вы сделали не то что хотели. Хотели вызвать конструктор объекта,а у вас получилось объявление функции.

Object Program1(void);

п.с. Мне кажется у Вас какая-то неправильная книжка по c++…

ответ дан 9 сен 2016 в 13:41

Alex's user avatar

AlexAlex

562 бронзовых знака

Believe it or not, this line does not declare an instance of std::vector named results, calling the constructor taking a begin and end iterator:

std::vector<float> results(std::istream_iterator<int>(actualLineStream),
    std::istream_iterator<int>());

This actually declares a function called results that takes a parameter named actualLineStream and another unnamed parameter, both of type std::istream_iterator<int>.

Generally in C++, if something looks like a function, it will be parsed like one; the C++ standard requires it. This is really for backward compatibility with C — but this is so counterintuitive that it even has its own name: the «most vexing parse». Some compilers will even issue a warning if it encounters the most vexing parse.

It is related to the fact that these two lines are not equivalent in C++:

Foo bar;   // Declares an instance of Foo named bar
Foo bar(); // Declares a function named bar that takes no parameters and returns a Foo

To fix it, you can add more parentheses around one of the arguments:

//                         +--------- Note extra parentheses!! ---------+
//                         |                                            |
//                         V                                            V
std::vector<float> results((std::istream_iterator<int>(actualLineStream)),
    std::istream_iterator<int>());

Or simply declare each iterator separately:

std::istream_iterator<int> resultsBegin(actualLineStream);
std::istream_iterator<int> resultsEnd;
std::vector<float> results(resultsBegin, resultsEnd);

Believe it or not, this line does not declare an instance of std::vector named results, calling the constructor taking a begin and end iterator:

std::vector<float> results(std::istream_iterator<int>(actualLineStream),
    std::istream_iterator<int>());

This actually declares a function called results that takes a parameter named actualLineStream and another unnamed parameter, both of type std::istream_iterator<int>.

Generally in C++, if something looks like a function, it will be parsed like one; the C++ standard requires it. This is really for backward compatibility with C — but this is so counterintuitive that it even has its own name: the «most vexing parse». Some compilers will even issue a warning if it encounters the most vexing parse.

It is related to the fact that these two lines are not equivalent in C++:

Foo bar;   // Declares an instance of Foo named bar
Foo bar(); // Declares a function named bar that takes no parameters and returns a Foo

To fix it, you can add more parentheses around one of the arguments:

//                         +--------- Note extra parentheses!! ---------+
//                         |                                            |
//                         V                                            V
std::vector<float> results((std::istream_iterator<int>(actualLineStream)),
    std::istream_iterator<int>());

Or simply declare each iterator separately:

std::istream_iterator<int> resultsBegin(actualLineStream);
std::istream_iterator<int> resultsEnd;
std::vector<float> results(resultsBegin, resultsEnd);

Zelais

0 / 0 / 0

Регистрация: 07.01.2020

Сообщений: 2

1

06.10.2020, 01:11. Показов 1543. Ответов 2

Метки c++, class, ООП, стек (Все метки)


Здравствуйте! При запуске программы выдавало ошибку на строчку 94 «Ошибка C2228 выражение слева от должно представлять класс, структуру или объединение». Но программа запустилась и, насколько я поняла, стек так и не создался при выборе «1», так как при попытке просмотра ничего не выводит. Подскажите в чем может быть проблема?

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <iostream>
#include <iomanip>
#include <time.h>
#include <stdlib.h>
 
using namespace std;
 
class Stack {
    int info;
    Stack* next;
public:
    Stack* push(Stack* begin, int item);
    Stack* pop(Stack* begin, int* item);
    Stack* Create();
    void show(Stack* begin);
    void Delete(Stack** begin);
    Stack* add(int, Stack*);
} *begin;
 
Stack* Stack::push(Stack* begin, int item)
{
    Stack* p = new Stack;
    p->info = item;
    p->next = begin;
    return p;
}
 
Stack* Stack::pop(Stack* begin, int* item)
{
    Stack* p = begin;
    *item = begin->info;
    begin = begin->next;
    delete p;
    return begin;
}
 
Stack* Stack::Create()
{
    Stack* S = NULL;
    int n;
    cout << "Введите количество элементов стека: ";
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        int a = rand() % 201 - 100;
        S = push(S, a);
    }
    return S;
}
 
void Stack::show(Stack* begin)
{
    while (begin != NULL)
    {
        cout << begin->info << " ";
        begin = begin->next;
    }
    cout << endl;
}
 
void Stack::Delete(Stack** begin)
{
    Stack* p;
    while (*begin != NULL)
    {
        p = *begin;
        *begin = (*begin)->next;
        delete p;
    }
}
 
Stack* Stack::add(int a, Stack* next) {
    Stack* newStack = new Stack;
    newStack->info = a;
    newStack->next = next;
    return newStack;
}
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    srand((unsigned)time(NULL));
 
    Stack* S0 = NULL;
    int act, n;
    while (true) {
        cout << "1- Создать стек" << endl << "2- Добавить элемент" << endl << "3- Просмотреть стек" << endl
              << "4- Удалить" << endl << "0- Выход" << endl;
        cout << "Ваш выбор: ";
        cin >> act;
        switch (act) {
        case 1:
            (*S0).Create();
            break;
        case 2:
            cout << "Введите новый элемент: ";
            cin >> n;
            (*S0).push(S0, n);
            break;
        case 3:
            (*S0).show(S0);
            break;
        case 4:
            (*S0).Delete(&S0);
            break;
        case 0:
        {
            exit(0);
        } break;
        }
    }
}

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



0



Вездепух

Эксперт CЭксперт С++

10435 / 5704 / 1553

Регистрация: 18.10.2014

Сообщений: 14,098

06.10.2020, 05:58

2

Цитата
Сообщение от Zelais
Посмотреть сообщение

При запуске программы выдавало ошибку на строчку 94 «Ошибка C2228 выражение слева от должно представлять класс, структуру или объединение». Но программа запустилась

Вы выдумываете. Это ошибка компиляции. Програма с такой ошибкой никак запуститься не могла.

Выдумали вы, очевидно, именно ошибку. Такой ошибки в строке 94 нет.

Цитата
Сообщение от Zelais
Посмотреть сообщение

Но программа запустилась и, насколько я поняла, стек так и не создался при выборе «1», так как при попытке просмотра ничего не выводит. Подскажите в чем может быть проблема?

Указатель S0 — нулевой. Он никуда не указывает. А вы через него пытаетесь делать какие-то вызовы.



0



zss

Модератор

Эксперт С++

12641 / 10135 / 6102

Регистрация: 18.12.2011

Сообщений: 27,170

06.10.2020, 07:52

3

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
    
#include <iostream>
#include <iomanip>
#include <time.h>
#include <stdlib.h>
 
using namespace std;
 
struct Stack {
    int info;
    Stack* next;
};
Stack* push(Stack* begin, int item);
Stack* pop(Stack* begin, int* item);
Stack* Create();
void show(Stack* begin);
void Delete(Stack** begin);
Stack* add(int, Stack*);
 
 
Stack* push(Stack* begin, int item)
{
    Stack* p = new Stack;
    p->info = item;
    p->next = begin;
    return p;
}
 
Stack* pop(Stack* begin, int* item)
{
    Stack* p = begin;
    *item = begin->info;
    begin = begin->next;
    delete p;
    return begin;
}
 
Stack* Create()
{
    Stack* S = new Stack;
    S->info = 0;
    S->next = nullptr;
/*
    int n;
    cout << "Введите количество случайных элементов стека: ";
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        int a = rand() % 201 - 100;
        push(S, a);
    }
*/
    return S;
}
 
void show(Stack* begin)
{
    while (begin != NULL)
    {
        cout << begin->info << " ";
        begin = begin->next;
    }
    cout << endl;
}
 
void Delete(Stack** begin)
{
    Stack* p;
    while (*begin != NULL)
    {
        p = *begin;
        *begin = (*begin)->next;
        delete p;
    }
}
 
Stack* add(int a, Stack* next) {
    Stack* newStack = new Stack;
    newStack->info = a;
    newStack->next = next;
    return newStack;
}
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    srand((unsigned)time(NULL));
 
    Stack* S0 = Create(); // "1- Создать стек" - надо делать ТОЛЬКО ОДИН РАЗ!!!!!!!!!!!!!!!!!!!!
    int act, n;
    do {
        cout << endl << "2- Добавить элементn3- Просмотреть стекn0- Выход" << endl;
        cout << "Ваш выбор: ";
        cin >> act;
        switch (act) {
            //case 1:
        case 2:
            cout << "Введите новый элемент: ";
            cin >> n;
            S0=push(S0, n);
            break;
        case 3:
            show(S0);
            break;
            //case 4:
        }
    } while (act != 0);
    Delete(&S0); //  "4- Удалить"  надо делать ТОЛЬКО ОДИН РАЗ!!!!!!!!!!!!!!!!!!!!
    return 0;
}



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

06.10.2020, 07:52

Помогаю со студенческими работами здесь

Выражение должно представлять класс,структуру или объединение,идентификатор не найден
Здравствуйте! Никак не могу справиться с программой,выдаёт ошибки.
Задание: составить программу,…

Как исправить ошибку: Выражение должно представлять класс, структуру или объединение
Здравствуйте уважаемые!
Пишу сортировку массива структур, содержащего данные аудио коллекции….

Ошибка: выражение слева от «.length»/».substr» должно представлять класс, структуру или объединение
выражение слева от &quot;.length&quot;/&quot;.substr&quot; должно представлять класс, структуру или объединение
Почему…

Компилятор уведомляет об ошибках типа выражение слева от «.х» должно представлять класс, структуру или объединение
Компилятор уведомляет об ошибках типа выражение слева от &quot;.х&quot; должно представлять класс, структуру…

Ошибка выражение должно представлять собой указатель на полный тип объекта
По заданию, из матрицы нужно исключить столбец и строку, которые пересекают элемент с наибольшим по…

Ошибка:выражение должно представлять собой указатель на полный тип объекта
Доброго времени суток!
Простенький код, но не получается.

using namespace std;…

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

Или воспользуйтесь поиском по форуму:

3

Standard warning: While it’s certainly possible to write the main body of your application in C++/CLI, or even write the GUI in C++/CLI using WinForms, it is not recommended. C++/CLI is intended for interop scenarios: where C# or other .Net code needs to interface with unmanaged C++, C++/CLI can provide the translation between the two. For primary development, it is recommended to use C# with either WinForms or WPF if you want managed code, or C++ with MFC if you want unmanaged.


That said:

for (Int32 index = 1; index <= itext.size(); index++)

and

«Error C2039 ‘length’: is not a member of ‘System::String'»

Size is not how you get the length of a System::String in .Net. For that, you want the Length property. You were close on your second attempt, but you need a capital «L». (size() is how std::string does it, but std::string is a completely different beast from System::String.)


Other issues:

in_itext = txtText->Text;
itext = Convert::ToString(in_itext);

It’s already a string, you don’t need to convert it.

while (itext[index - 1] != ' ')
{
    index--;
}

You can easily run off the beginning of the string if you do this. (You’ll get an exception when index is equal to zero.) Add a check against zero.

while (itext[index] != ' ')
{
    next_email += itext[index];
    index++;
    if (itext[index] == '')
        break;
}

Strings in .Net are not null-terminated, you need to check against the Length.


If we take a step back, what problem are you actually trying to solve here? My best guess is that you’ve got some text with an email address somewhere in the middle, and you just want to extract the email address. If that’s the case, then I’d probably try using a regular expression to extract the email address. You’ve got the full power of the .Net Library available to you, use it! See Using a regular expression to validate an email address for the regex to use, and read up on regular expressions with the introduction page and class reference.

Standard warning: While it’s certainly possible to write the main body of your application in C++/CLI, or even write the GUI in C++/CLI using WinForms, it is not recommended. C++/CLI is intended for interop scenarios: where C# or other .Net code needs to interface with unmanaged C++, C++/CLI can provide the translation between the two. For primary development, it is recommended to use C# with either WinForms or WPF if you want managed code, or C++ with MFC if you want unmanaged.


That said:

for (Int32 index = 1; index <= itext.size(); index++)

and

«Error C2039 ‘length’: is not a member of ‘System::String'»

Size is not how you get the length of a System::String in .Net. For that, you want the Length property. You were close on your second attempt, but you need a capital «L». (size() is how std::string does it, but std::string is a completely different beast from System::String.)


Other issues:

in_itext = txtText->Text;
itext = Convert::ToString(in_itext);

It’s already a string, you don’t need to convert it.

while (itext[index - 1] != ' ')
{
    index--;
}

You can easily run off the beginning of the string if you do this. (You’ll get an exception when index is equal to zero.) Add a check against zero.

while (itext[index] != ' ')
{
    next_email += itext[index];
    index++;
    if (itext[index] == '')
        break;
}

Strings in .Net are not null-terminated, you need to check against the Length.


If we take a step back, what problem are you actually trying to solve here? My best guess is that you’ve got some text with an email address somewhere in the middle, and you just want to extract the email address. If that’s the case, then I’d probably try using a regular expression to extract the email address. You’ve got the full power of the .Net Library available to you, use it! See Using a regular expression to validate an email address for the regex to use, and read up on regular expressions with the introduction page and class reference.

Я долгое время изучал C ++ с помощью Qt, и у меня много проблем с пониманием работы методов. Прямо сейчас я пытаюсь выяснить базы данных и попытался упростить мой код с помощью заголовка. Обычно в Java у меня был бы класс DatabaseControl с методом void, который выполнял бы все, что я хотел. Например, добавление сотрудника в базу данных, как я делаю сейчас. Я бы создал экземпляр класса, делая что-то вроде

DatabaseControl myDBControl = new DatabaseControl();

и затем выполните метод с

myDBControl.addEmploye();

который выведет ряд полей ввода для пользователя, чтобы ввести информацию о сотруднике — имя, отдел и т. д.

Итак, теперь перейдем к C ++. У меня есть мой заголовок

class DatabaseControl
{
public:
DatabaseControl();
~DatabaseControl();

//Methods
void addEmployee();
};

У меня нет никаких параметров в моих конструкторах, потому что все, что я хочу сделать, — это вызвать метод addEmployee в моем main, как я показал выше. В том же заголовочном файле это ниже моего объявления класса

void DatabaseControl::addEmployee(){
QSqlQuery qry;
bool ok;
QString firstName = QInputDialog::getText(NULL, "QInputDialog::getText()",
"Employee first name:", QLineEdit::Normal,
NULL, &ok);
if (ok && !firstName.isEmpty()){}
else{
QMessageBox msgBox;
msgBox.setWindowTitle("Error");
msgBox.setText("Failed to add employee.nReason: No employee name given.");
msgBox.exec();
}
QString lastName = QInputDialog::getText(NULL, "QInputDialog::getText()",
"Employee last name:", QLineEdit::Normal,
NULL, &ok);
if (ok && !lastName.isEmpty()){
qry.prepare("INSERT INTO employees (firstname, lastname)" "VALUES (:f1, :f2)");
qry.bindValue(":f1", firstName);
qry.bindValue(":f2", lastName);
qry.exec();
}
else{
QMessageBox msgBox;
msgBox.setWindowTitle("Error");
msgBox.setText("Failed to add employee.nReason: No employee name given.");
msgBox.exec();
}

}

и тогда у меня в основном это:

void MainWindow::on_addEmployee_clicked()
{
DatabaseControl myDBControl();
myDBControl.addEmployee();
}

который я ожидал просто запустить метод addEmployee, который я написал в заголовочном файле. Однако, когда я компилирую, я получаю сообщение об ошибке: C2228: слева от .addEmployee должен быть класс / структура / объединение

Я смотрел на другие случаи этой ошибки и не совсем понимаю, что именно не так, и я чувствую, что это происходит из-за моего неправильного понимания методов в C ++, потому что я знаю, что в Java что-то подобное будет работать без проблем (при условии, что код в заголовок правильный, чего вполне может не быть)

20

Решение

Вы сделали ошибку здесь:

DatabaseControl myDBControl();

Вы объявили функцию с именем myDBControl не принимая никаких аргументов и возвращая DatabaseControl,

Объявления объектов без аргументов конструктора должны опускать ():

DatabaseControl myDBControl;

Это связано с (но не точно)самый неприятный разбор«, в том, что это вызвано тем же языковым правилом, операторы являются объявлениями функций, если они могут быть проанализированы.

31

Другие решения

Вы должны сказать это:

 DatabaseControl myDBControl;
myDBControl.addEmployee();

1

DatabaseControl myDBControl();

должно быть

DatabaseControl myDBControl;

1

В поддержку принятого ответа.

От dcl.init # 11:

Объект, инициализатор которого является пустым набором скобок, т.е. (), должен быть инициализирован значением.

[Примечание: с () не допускается синтаксисом для инициализатора,

X a();

не является объявлением объекта class X, но
объявление функции без аргументов и возвращение X. Форма () разрешено в некоторых других контекстах инициализации
([expr.new], [expr.type.conv], [class.base.init]). — конец примечания]

0

Hi. How build GameNetworkingSocket for static x32 solution with Visual Studio?
Problems:
`c:gamenetworkingsocketssrcsteamnetworkingsocketscerttool../steamnetworkings
ockets_internal.h(516): error C2143: синтаксическая ошибка: отсутствие «,» перед
«<«
c:gamenetworkingsocketssrcsteamnetworkingsocketscerttool../steamnetworkings
ockets_internal.h(522): error C2039: set: не является членом «std»
C:Program Files (x86)Microsoft Visual Studio2017EnterpriseVCToolsMSVC14.
13.26128includefunctional(21): note: см. объявление «std»
c:gamenetworkingsocketssrcsteamnetworkingsocketscerttool../steamnetworkings
ockets_internal.h(522): error C4430: отсутствует спецификатор типа — предполагае
тся int. Примечание. C++ не поддерживает int по умолчанию
c:gamenetworkingsocketssrcsteamnetworkingsocketscerttool../steamnetworkings
ockets_internal.h(522): error C2988: неопознанное объявление или определение шаб
лона
c:gamenetworkingsocketssrcsteamnetworkingsocketscerttool../steamnetworkings
ockets_internal.h(522): error C2143: синтаксическая ошибка: отсутствие «,» перед
«<«
c:gamenetworkingsocketssrcsteamnetworkingsocketscerttool../steamnetworkings
ockets_internal.h(776): error C2977: vstd::LikeStdVectorTraits: слишком много ар
гументов шаблон
c:gamenetworkingsocketssrcsteamnetworkingsocketscerttool../steamnetworkings
ockets_internal.h(776): note: см. объявление «vstd::LikeStdVectorTraits»
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(68): error C2039: vector: не является членом «std»
C:Program Files (x86)Microsoft Visual Studio2017EnterpriseVCToolsMSVC14.
13.26128includefunctional(21): note: см. объявление «std»
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(68): error C2143: синтаксическая ошибка: отсутствие «;» перед «

C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(68): error C4430: отсутствует спецификатор типа — предполагаетс
я int. Примечание. C++ не поддерживает int по умолчанию
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(119): error C2065: s_vecDataCenterIDs: необъявленный идентифика
тор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(120): error C3312: не найдена вызываемая функция «begin» для ти
па «unknown-type»
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(120): error C3312: не найдена вызываемая функция «end» для типа
«unknown-type»
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(122): error C2065: id: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(160): error C4430: отсутствует спецификатор типа — предполагает
ся int. Примечание. C++ не поддерживает int по умолчанию
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(160): error C2143: синтаксическая ошибка: отсутствие «,» перед
«&»
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(164): error C2065: CMsgSteamDatagramCertificate: необъявленный
идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(164): error C2146: синтаксическая ошибка: отсутствие «;» перед
идентификатором «msgCert»
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(164): error C2065: msgCert: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(165): error C2065: msgCert: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(165): error C2228: выражение слева от «.ParseFromString» должно
представлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(165): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(165): error C2065: msgSigned: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(165): error C2228: выражение слева от «.cert» должно представля
ть класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(165): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(168): error C2065: msgCert: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(168): error C2228: выражение слева от «.key_data» должно предст
авлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(168): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(168): error C2228: выражение слева от «.c_str» должно представл
ять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(168): error C2228: выражение слева от «.length» должно представ
лять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(168): error C2660: CCryptoKeyBase::Set: функция не принимает 1
аргументов
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(170): error C2065: msgCert: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(170): error C2228: выражение слева от «.time_created» должно пр
едставлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(170): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(171): error C2065: msgCert: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(171): error C2228: выражение слева от «.time_expiry» должно пре
дставлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(171): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(182): error C2065: msgCert: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(182): error C2228: выражение слева от «.gameserver_datacenter_i
ds» должно представлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(182): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(184): error C2065: id: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(186): error C2065: pszJSONIndent: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(202): error C2065: pszJSONIndent: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(204): error C2065: pszJSONIndent: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(205): error C2065: sOutResult: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(208): error C2065: pszJSONIndent: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(209): error C2065: sOutResult: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(211): error C2065: pszJSONIndent: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(212): error C2065: sOutResult: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(213): error C2065: pszJSONIndent: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(214): error C2065: sOutResult: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(215): error C2065: pszJSONIndent: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(215): error C2065: msgSigned: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(215): error C2228: выражение слева от «.ca_key_id» должно предс
тавлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(215): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(216): error C2065: sOutResult: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(221): error C2065: sOutResult: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(223): error C2065: sOutResult: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(225): error C2065: sOutResult: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(226): error C2065: msgSigned: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(226): error C2228: выражение слева от «.ca_key_id» должно предс
тавлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(226): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(227): error C2065: sOutResult: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(231): error C2065: sOutResult: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(242): error C2065: s_vecDataCenterIDs: необъявленный идентифика
тор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(242): error C2228: выражение слева от «.size» должно представля
ть класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(242): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(250): error C2065: CMsgSteamDatagramCertificate: необъявленный
идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(250): error C2146: синтаксическая ошибка: отсутствие «;» перед
идентификатором «msgCert»
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(250): error C2065: msgCert: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(251): error C2065: msgCert: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(251): error C2228: выражение слева от «.set_key_type» должно пр
едставлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(251): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(251): error C2065: CMsgSteamDatagramCertificate_EKeyType_ED2551
9: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(252): error C2065: msgCert: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(252): error C2228: выражение слева от «.set_key_data» должно пр
едставлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(252): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(253): error C2065: msgCert: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(253): error C2228: выражение слева от «.set_time_created» должн
о представлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(253): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(254): error C2065: msgCert: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(254): error C2228: выражение слева от «.set_time_expiry» должно
представлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(254): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(254): error C2228: выражение слева от «.time_created» должно пр
едставлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(254): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(255): error C2065: s_vecDataCenterIDs: необъявленный идентифика
тор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(256): error C3312: не найдена вызываемая функция «begin» для ти
па «unknown-type»
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(256): error C3312: не найдена вызываемая функция «end» для типа
«unknown-type»
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(256): error C2065: msgCert: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(256): error C2228: выражение слева от «.add_gameserver_datacent
er_ids» должно представлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(256): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(256): error C2065: id: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(259): error C2065: CMsgSteamDatagramCertificateSigned: необъявл
енный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(259): error C2146: синтаксическая ошибка: отсутствие «;» перед
идентификатором «msgSigned»
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(259): error C2065: msgSigned: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(260): error C2065: msgSigned: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(260): error C2228: выражение слева от «.set_cert» должно предст
авлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(260): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(260): error C2065: msgCert: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(260): error C2228: выражение слева от «.SerializeAsString» долж
но представлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(260): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(263): error C2065: msgSigned: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(263): error C2228: выражение слева от «.cert» должно представля
ть класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(263): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(263): error C2228: выражение слева от «.c_str» должно представл
ять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(263): error C2228: выражение слева от «.length» должно представ
лять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(263): error C2660: CCrypto::GenerateSignature: функция не прини
мает 3 аргументов
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(264): error C2065: msgSigned: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(264): error C2228: выражение слева от «.set_ca_key_id» должно п
редставлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(264): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(265): error C2065: msgSigned: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(265): error C2228: выражение слева от «.set_ca_signature» должн
о представлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(265): note: тип: unknown-type
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(267): error C2065: msgSigned: необъявленный идентификатор
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(267): error C2228: выражение слева от «.SerializeAsString» долж
но представлять класс, структуру или объединение
C:GameNetworkingSocketssrcsteamnetworkingsocketscerttoolsteamnetworkingsock
ets_certtool.cpp(267): fatal error C1003: число ошибок превышает 100; остановка
компиляции
NMAKE : fatal error U1077: C:PROGRA2MICROS12017ENTERP~1VCToolsMSVC1413
~1.261binHostx86x86cl.exe : возвращенный код «0x2»
Stop.
NMAKE : fatal error U1077: «C:Program Files (x86)Microsoft Visual Studio2017
EnterpriseVCToolsMSVC14.13.26128binHostX86x86nmake.exe» : возвращенный к
од «0x2»
Stop.
NMAKE : fatal error U1077: «C:Program Files (x86)Microsoft Visual Studio2017
EnterpriseVCToolsMSVC14.13.26128binHostX86x86nmake.exe» : возвращенный к
од «0x2»
Stop.

C:GameNetworkingSocketsbuild>`

Please, help build for x32 solution with Visual Studio

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Error c2220 следующее предупреждение рассматривается как ошибка
  • Error c2220 warning treated as error no object file generated
  • Error c2220 the following warning is treated as an error
  • Error c2169 intrinsic function cannot be defined
  • Error c2146 синтаксическая ошибка отсутствие перед идентификатором

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии