Почему эта программа на C ++ не скомпилируется? - PullRequest
1 голос
/ 27 апреля 2011

Это программа, которую я пытаюсь скомпилировать.

#include <iostream>
#include <string>
#include <vector>
#include <unistd.h>
using namespace std;

vector<string> paramlist;
const char *programname = "abc";

const char **args = new const char* [paramlist.size()+2];   // extra room for program name and sentinel
args [0] = programname;         // by convention, args[0] is program name
for (int j = 0;  j < paramlist.size()+1;  ++j)     // copy args
args [j+1] = paramlist[j] .c_str();

args [paramlist.size()+1] = NULL;  // end of arguments sentinel is NULL

execv (programname, (char **)args);

Когда я пытаюсь скомпилировать ее, я получаю следующие сообщения об ошибках:

test.cpp:11: error: expected constructor, destructor, or type conversion before ‘=’ token
test.cpp:12: error: expected unqualified-id before ‘for’
test.cpp:12: error: expected constructor, destructor, or type conversion before ‘<’ token
test.cpp:12: error: expected unqualified-id before ‘++’ token
test.cpp:15: error: array bound is not an integer constant
test.cpp:15: error: expected constructor, destructor, or type conversion before ‘=’ token
test.cpp:17: error: expected constructor, destructor, or type conversion before ‘(’ token

Ответы [ 2 ]

5 голосов
/ 27 апреля 2011

Вам по крайней мере нужна функция int main .

2 голосов
/ 27 апреля 2011

Ваша программа содержит код, но он должен содержаться в функции.Попробуйте обернуть весь ваш код после строки using namespace std; функцией, подобной int main.Google для любого примера C ++ "Hello world", чтобы увидеть пример.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...