C ++预期的初级表达式'<<<' ENDL

时间:2015-09-01 00:59:31

标签: c++

当我尝试编译以下代码时,我不断收到expected primary-expression before '<<' token编译错误消息。我很确定它与endl有关;因为当我删除&#39;&lt;&lt; ENDL; &#39;从代码的每个部分,它工作正常

#include <cstdlib>
#include <iostream>

using namespace std;
int num1 = 0;

int funcNum1()
{
    cout << num1; << endl;
    int num1 = 2;
    cout << num1; << endl;
    return 0;
}

int main(int argc, char *argv[])
{
    cout << num1; << end1;
    int num1 = 1;
    funcNum1();
    cout << num1; << end1;
    system("PAUSE");
    return 0;
}

3 个答案:

答案 0 :(得分:1)

您在第cout << num1; << end1;行中犯了错误,将其更改为

cout << num1 << endl;

在代码中的两个位置都可以看到它。

答案 1 :(得分:0)

从这段代码中可以看出,num1之后你有分号。删除此分号(您的函数中也存在此问题)。此外,endl中的数字1而不是l。修复这两个错误,它应该可以工作。

int main(int argc, char *argv[])
{
    cout << num1; << end1;
    int num1 = 1;
    funcNum1();
    cout << num1; << end1;
    system("PAUSE");
    return 0;
}

答案 2 :(得分:0)

在main()中你的语法是关闭的:

    int main(int argc, char *argv[]) {

    cout << num1 << endl; // watch the semicolons, use "endl" not "end1"
    int num1 = 1;
    funcNum1();
    cout << num1 << endl; // watch the semicolons, use "endl" not "end1"
    system("PAUSE"); // system needs #include <stdlib.h>
    return 0;
}

你需要&#34; stdlib.h&#34;它嵌入在&#34; cstdlib&#34;用于访问system()方法的标头:看一下documentation