Я не могу определить строку в моем коде C ++ в QT - PullRequest
0 голосов
/ 25 октября 2018

Мой код выглядит следующим образом.

#include "test.h"
#include "string"
#include "iostream"
using namespace std::string::find;


test::test(){
    string str ("ffs test ffs");
    string str2 ("test");
    if (str.find(str2) != std::string::npos) {
        std::cout << "found" << "\n";
    } else {
        std::cout << "not found" << "\n";
    }
}

проблема, с которой я сталкиваюсь, заключается в следующем: при попытке определить строку в файле c ++ qt заявляет "имя неизвестного типа" строка "".Также в строке 4 мой «импорт» выделяет строку, как будто ее не существует, несмотря на то, что это вариант, который мне предлагает редактор, когда я его набираю.Кто-нибудь знает, что я здесь делаю неправильно?Большую часть часа я потратил на поиски вещей, и все, что я нахожу, это пытаться исправить проблемы, передавая вещи в QStrings, и, насколько я могу судить, ничего не связанное с моей проблемой.Заранее благодарю за любую помощь.Я пробовал оба типа импорта #include и #include "вещь" на всех импорте, которые, кажется, не имеют значения

Ответы [ 3 ]

0 голосов
/ 25 октября 2018

После включения соответствующих заголовков iostream, string и т. Д. Вы можете написать:

using std::string;

Это принесет только string из namespace std в вашу программу.И вы можете сделать это, если хотите избежать повсеместного ввода std::string.Вы можете сделать это и для потоковых объектов, таких как cout, cin.

using std::cout;
using std::cin;
0 голосов
/ 25 октября 2018

Используйте оператор Scope :: в вашем коде и получите доступ к стандартному классу вручную

std::string

это поможет вам!

0 голосов
/ 25 октября 2018

Используйте std::string вместо string.

#include "test.h"
#include <string>
#include <iostream>

test::test(){
    std::string str ("ffs test ffs");
    std::string str2 ("test");
    if (str.find(str2) != std::string::npos) {
        std::cout << "found" << "\n";
    } else {
        str::cout << "not found" << "\n";
    }
}

Не используйте using namespace (конечно, в вашем случае это не было пространство имен, так что это еще одна ошибка), используйте<> для системных заголовков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...