VisualStudio просит объявить API (библиотека VK C++)

224
22 марта 2018, 09:27

Приветствую всех,

Пытаюсь разобраться с одной библиотекой, подключающей VK API к C++. С плюсами я знаком очень поверхностно (как и с программированием в целом), но то, что мне нужно, много знаний и не требует (мне там несколько циклов просто написать). Буду очень благодарен за помощь :3

Я ещё поставил Curl, как просит автор библиотеки, хотя не знаю, что конкретно он делает, может проблема в этом.

Вот мой код:

#include "stdafx.h"
#include <iostream>
#include "external/src/api.h"
using namespace std;

int main()
{
    string access_token = 'Мой токен'
    string pass = "Мой пароль от аккаунта ВК";
    string login = "Мой номер телефона";
    if (api.auth(login, pass, access_token)) {
        cout << "Auth ok" << endl;
        cout << "Access token: " << api.access_token() << endl << endl;
        cout << api.call("wall.post", "owner_id='Мой ID'&message=Test");
    }
    else {
        cout << "Auth fail" << endl;
    }
    return 0;
}

Вот, что отвечает компилятор:

error C2065: api: необъявленный идентификатор
error C2228: выражение слева от ".auth" должно представлять класс, структуру 

или объединение note: тип: unknown-type error C2065: api: необъявленный идентификатор error C2228: выражение слева от ".access_token" должно представлять класс, структуру или объединение note: тип: unknown-type error C2065: api: необъявленный идентификатор error C2228: выражение слева от ".call" должно представлять класс, структуру или объединение note: тип: unknown-type

Ещё раз большое спасибо за помощь новичку ^_^ Буду очень благодарен, если объясните в чём моя ошибка и посоветуете, что прочитать, чтобы больше не спотыкаться.

Пользуюсь Vusial Studio 2017

Answer 1

Вы, когда код переписываете, то делайте это с пониманием :)

Вы, скорее всего, тянули отсюда:

VK::Client api;
api.set_fa2_callback(fa2_callback);
api.set_cap_callback(captcha_callback);
if(api.auth(login, pass, access_token)){

Видите - в первой строке объявлена переменная api? А у вас эта переменная не объявлена.

Представьте - вы написали

int main()
{
    x = 5.0;
}

Что вам компилятор скажет? Что переменная x не объявлена, он не знает ее типа и что с ней делать. Слово в слово он говорит то же о вашей api.

READ ALSO
QTcpSocket + QDataStream

QTcpSocket + QDataStream

Доброго дня! Есть устройство с которого нужно считывать строку в ACSII протокол общения TCP/IPЕсть рабочий код:

226
Чтение логов Win - C++

Чтение логов Win - C++

Необходимо написать программу, которая бы читала лог-файлы ВидовсПроблема в том, что мы этого ещё не учили, а курсовую делать нужно

230
Задача с нахождением высоты

Задача с нахождением высоты

Школьная задача C++, решить не могу, подскажите в чем ошибка или просто намекните как по другому ее решать?

221
Реализация графа через смежные вершины

Реализация графа через смежные вершины

ЗдравствуйтеУ меня есть задача- написать функции для графа через сопредельные вершины - добавить вершину, добавить ребро, добавить вес ребра

251