main.cpp:22:34:错误:'xxxxxxx'未在此>中声明范围

时间:2012-08-20 13:54:33

标签: c++ windows linux

我遇到了这个错误:

  

main.cpp:22:34:错误:'getTotalSystemMemory'未在此声明   范围

#include <unistd.h>
#include <cstdlib>
#include <stdio.h>
#include <iostream>

using namespace std;

/*
 * 
 */
int main(int argc, char** argv) {

    cout << "Hello World! \n";

    cout << getTotalSystemMemory();

    return 0;
}

long getTotalSystemMemory()
{
    long pages = sysconf(_SC_PHYS_PAGES);
    long page_size = sysconf(_SC_PAGE_SIZE);
    return pages * page_size;
}

我假设方法'getTotalSystemMemory'在范围内,因为它在同一个类中

4 个答案:

答案 0 :(得分:3)

在使用函数之前,您需要至少提供声明

long getTotalSystemMemory(); //declaration

int main(int argc, char** argv) {
    //...
    cout << getTotalSystemMemory();
    //...
}

long getTotalSystemMemory()
{
    //...
}

答案 1 :(得分:1)

您必须首先使用C / C ++声明该函数。

main

之前加上这个
long getTotalSystemMemory();

答案 2 :(得分:0)

你必须&#34;原型&#34;如果您要在int main() {}下面定义它,那么该函数:

long getTotalSystemMemory();

int main() {
    /* ....... */
    getTotalSystemMemory();
}

long getTotalSystemMemory() {}

答案 3 :(得分:0)

在c ++中,你必须在使用它的函数之前编写函数。

如果您不想在顶部编写函数,则必须先放置 prototype 。 原型看起来像这样:

<return-value> <function name> (<parameters type>);