我的代碼:無效存儲器引用(SIGSEGV)錯誤
#include <iostream>
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
std::cout << "test\n";
std::string test = "test";
if (test == argv[1]) {
std::cout << "a test";
}
}
我正在與克++代碼上Rextester:g++ -Wall -std=c++11 -O2 -o a.out source_file.cpp
。
我收到錯誤Invalid memory reference (SIGSEGV)
。
爲什麼我會收到此錯誤?
編譯後,我運行的代碼與參數test 0.1
。
這是在Rextester的代碼:http://rextester.com/FGVB49226。
你傳遞任何參數的程序,當你運行它?如果不是那麼'argv [1]'是'NULL'。 – 2014-09-21 11:50:47
@JoachimPileborg:或超出界限。 – 2014-09-21 11:51:18
'(argc> 1 && test == argv [1])' – 2014-09-21 11:51:36