0

我遇到了这个错误:

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

4 回答 4

3

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

long getTotalSystemMemory(); //declaration

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

long getTotalSystemMemory()
{
    //...
}
于 2012-08-20T13:55:32.613 回答
1

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

把这个放在前面main

long getTotalSystemMemory();
于 2012-08-20T13:55:23.143 回答
0

如果要在下面定义函数,则必须“原型化”该函数int main() {}

long getTotalSystemMemory();

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

long getTotalSystemMemory() {}
于 2012-08-20T13:57:44.967 回答
0

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

如果不想把函数写在top,必须先放一个prototype。原型看起来像这样:

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

于 2012-08-20T13:58:49.020 回答