1
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <regex.h>

using namespace std;

string input;

int main()
{   
    //Input .ply file
    ifstream inputFile ("input.ply");


    //input file is read
    if (inputFile.is_open())
    {
        int i = 1;  //Line iterator
        int vertices = 0;
        int faces = 0;

        vector<float> anatomy;
        vector<float> normals;
        vector<int> triangles;

        string a,line;
        getline(cin,line);

        while (inputFile.good())
        {
            //Take number from line 4, set as variable "vertices"
            if (i == 4)
            {
                regex pattern("[^0-9]+");
                getline (inputFile,line);              
                vertices = show_match(line, pattern);
            }

            //Take number from line 11, set as variable "triangles"
            if (i == 11)
            {
                regex pattern("[^0-9]+");
                getline (inputFile,line);              
                faces = show_match(line, pattern);
            }

            if (i == 13)
            {
                i++;
                break;
            }

            i++;

        }

        waitKey(0);
}

else
{
    cout << "Cannot read mesh, please try again." << endl;
}

return 0;

}

只是试图从字符串中读取并提取整数,所以我添加了正则表达式头和其他文件以使用正则表达式。我正在使用 Dev-C++ 并将正则表达式的文件提取到它们各自的libbin和" C:\Dev-Cpp " 中的包含文件夹中,但是当我尝试编译我的程序时仍然收到以下错误:

'regex' 未声明(首先使用此函数)

4

1 回答 1

0

如果未达到您的语句,您将从编译器收到此错误消息#include <regex.h>,例如,如果您使用条件包含。

确保#include <regex.h>实际达到。当我通过使用的条件包含然后尝试使用的代码意外排除了包含时,我也收到了此错误消息。

于 2016-06-06T22:12:26.220 回答