C++ 计数不能用作函数

C++ 计数不能用作函数,c++,vector,count,C++,Vector,Count,我的程序有个错误,上面说 “count”不能用作函数 它指向下面的一行 mycount = (int) count (t1q1.begin(), t1q1.end(), 1); 我已经包含了使用名称空间std的算法,但它仍然显示了错误 这就是我对向量t1q1所做的 下面的代码允许程序读入文件,提取特定信息并将其推回到向量 我的函数读取文件并将其存储在变量中 void checkForAnswers(char *ptr) { char String[256]; int count

我的程序有个错误,上面说 “count”不能用作函数

它指向下面的一行

mycount = (int) count (t1q1.begin(), t1q1.end(), 1);
我已经包含了使用名称空间std的算法,但它仍然显示了错误

这就是我对向量t1q1所做的 下面的代码允许程序读入文件,提取特定信息并将其推回到向量

我的函数读取文件并将其存储在变量中

void checkForAnswers(char *ptr)
{
    char String[256];
    int count = 0;

    while ( *ptr != ':')
    {
        String[count] = *ptr;
        ptr++;
        count++;
    }

    String[count] = '\0';

     //if topic is 1.
     if (strcmp(String, "1") == 0)
    {
         currentPtr=Travels(':',startPtr);
         int answerone1 = (int)atoi(currentPtr);
         currentPtr=Travels(':',currentPtr);
         int answertwo2 = (int)atoi(currentPtr);
         currentPtr=Travels(':',currentPtr);
         int answerthree3 = (int)atoi(currentPtr);
         currentPtr=Travels(':',currentPtr);
         int answerfour4 = (int)atoi(currentPtr);
         currentPtr=Travels(':',currentPtr);
         int answerfive5 = (int)atoi(currentPtr);

         t1q1.push_back(answerone1);
         t1q2.push_back(answertwo2);
         t1q3.push_back(answerthree3);
         t1q4.push_back(answerfour4);
         t1q5.push_back(answerfive5);
    }

    if (strcmp(String, "2") == 0)
    {
        currentPtr=Travels(':',startPtr);
        int answerone1 = (int)atoi(currentPtr);
        currentPtr=Travels(':',currentPtr);
        int answertwo2 = (int)atoi(currentPtr);
        currentPtr=Travels(':',currentPtr);
        int answerthree3 = (int)atoi(currentPtr);
        currentPtr=Travels(':',currentPtr);
        int answerfour4 = (int)atoi(currentPtr);
        currentPtr=Travels(':',currentPtr);
        int answerfive5 = (int)atoi(currentPtr);

        t2q1.push_back(answerone1);
        t2q2.push_back(answertwo2);
        t2q3.push_back(answerthree3);
        t2q4.push_back(answerfour4);
        t2q5.push_back(answerfive5);
    }

     if (strcmp(String, "3") == 0)
     {
        currentPtr=Travels(':',startPtr);
        int answerone1 = (int)atoi(currentPtr);
        currentPtr=Travels(':',currentPtr);
        int answertwo2 = (int)atoi(currentPtr);
        currentPtr=Travels(':',currentPtr);
        int answerthree3 = (int)atoi(currentPtr);
        currentPtr=Travels(':',currentPtr);
        int answerfour4 = (int)atoi(currentPtr);
        currentPtr=Travels(':',currentPtr);
        int answerfive5 = (int)atoi(currentPtr);

        t3q1.push_back(answerone1);
        t3q2.push_back(answertwo2);
        t3q3.push_back(answerthree3);
        t3q4.push_back(answerfour4);
        t3q5.push_back(answerfive5);
    }

        currentPtr=0;
} 
我的主要

  char Lines1[256];
        int count1 = 0;

        ifstream resultfile("results.txt");
        if (resultfile.is_open())
        {
            do
            {
            resultfile.getline(Lines1, 256);
            startPtr = Lines1;
            checkForAnswers(startPtr);
            count1++;
            }while(resultfile.eof() == false);
        resultfile.close();
        }


    int mycount;
    cout<< "\n";
    cout<< "TABULATION RESULTS\n";
    cout<< "------------------\n";
    cout<< "Topic 1, Question 1\n";
    mycount = (int) count (t1q1.begin(), t1q1.end(), 1);
    cout<< "Option 1: "<< mycount << " time(s)\n";
字符行1[256];
int count1=0;
ifstream结果文件(“results.txt”);
if(resultfile.is_open())
{
做
{
resultfile.getline(第1行、第256行);
startPtr=Lines1;
回答检查(startPtr);
count1++;
}while(resultfile.eof()==false);
resultfile.close();
}
int mycount;

代码中的coutcount
指的是局部变量
count
,它的类型为
int
,因此不能用作函数。您应该将变量命名为其他名称,或者使用其限定名
std::count
引用函数


此外,还应确保
#包括
(如果要重命名变量并使用其非限定名称调用函数,请使用
声明使用适当的
)< /P>请发布一个完整的可显示错误的示例。有两个不同版本的代码>计数< /C> >:@ Paulr:C++中只有一个<代码>计数>代码> @各位,在ABIT中更新我的线程!安德烈斯,你试过我的建议了吗?