我花了至少 5 个小时尝试让 sfml 库与我的 QT-creator ide 一起工作。我已遵循本教程https://github.com/LaurentGomila/SFML/wiki/Tutorial%3A-Compile-and-Link-SFML-with-Qt-Creator但仍然没有运气。
在构建简单的代码后,我不断收到类成员不存在的错误。我可以创建类的实例,但在尝试使用
创建的对象的成员时遇到多个错误。我尝试查找与库相关的问题、sfml 问题,但我不认为我正在寻找正确的问题。
这会起作用并显示一个窗口,该窗口在强制程序退出之前永远不会关闭:
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
//sf::CircleShape shape(100.f );
//shape.setFillColor(sf::Color::Green);
while (true)//window.isOpen())
{
sf::Event event;
/*while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}*/
//window.clear();
//window.draw(shape);
//window.display();
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
一旦我删除一条评论,就会弹出错误。我一生都无法弄清楚发生了什么。
提前致谢。
额外信息
TEMPLATE = app
#CONFIG += console
CONFIG -= qt
SOURCES += main.cpp
LIBS += -L"/home/user/Projects/SFML/lib"
CONFIG(release, debug|release): LIBS += -lsfml-audio -lsfml-graphics -lsfml-network …Run Code Online (Sandbox Code Playgroud) 这三点都涉及相同的"空函数"问题:
重要编辑调用空虚函数是一样的吗?
编辑 SO基本上你都说大多数情况下编译器会优化它.
但现在我很好奇,因为这仍然适用于这个问题.如果有这样的情况怎么办?在编译时不知道何时调用空函数?它会立即进入堆栈然后退出吗?
class base{
public:
virtual void method() = 0;
};
class derived1: public base{
public:
void method() { }
};
class derived2: public base{
public:
void method(){ std::cout << " done something "; }
};
int main()
{
derived1 D1;
derived2 D2;
base* array[] = { &D1, &D2 };
for( int i = 0; i < 1000; i ++)
{
array[0]->method();// nothing
array[1]->method();// Something
}
return 0;
}
Run Code Online (Sandbox Code Playgroud) 这个问题可能是微不足道的,但我对我应该做的事感到困惑.
基本上,我注意到我调用的每个连续超时都有一个更大的ID号.我确信这只是为了减少ID冲突,但我担心即使超时已经执行,它仍然存在于内存中.
如果执行了超时功能,您是否需要调用任何" 删除 "它?在我的代码中,我这样做:
clearTimeout(time);// destroy previous timer?
time = setTimeout( function(){ hitup( towards );}, ms);// next execution
Run Code Online (Sandbox Code Playgroud) 唯一给我带来问题的是执行匿名函数调用.我甚至打了个电话,看看里面的代码是否有问题; 事实并非如此.
这是我写的格式:
(function(){})();
Run Code Online (Sandbox Code Playgroud)
我很肯定这是正确和标准的使用,但它不断抛出这个 错误:
未捕获的TypeError :(中间值)(中间值)(...)不是函数(匿名函数)
在网站运行时可以在这里找到错误.
上面的代码摘录与我的程序中的代码没有什么不同
我试图创建一个类数据类型的指针数组,Pool但删除它就好像它是一个数组不起作用.
这是代码:
struct Pool {
/* in reality, complicated stuff here */
int size;
};
Pool* createLargePool() { return new Pool{100}; }
Pool* createMediumPool() { return new Pool{20}; }
Pool* createSmallPool() { return new Pool{5}; }
int main() {
using namespace std;
enum ePool{
small,
medium,
large,
last
};
Pool *pools[ePool::last] = {
createLargePool()
, createMediumPool()
, createSmallPool()
};
//Individually works.
delete pools[0];
delete pools[1];
delete pools[2];
//delete[] pools;// error. (assertion error?)
system("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
据我所知,我的行Pool …
我已经阅读了很多最近尝试学习反应和最佳实践的内容,并且我反复提到建议说"尽量保持你的逻辑在链中尽可能高".
我不明白为什么这是一个建议.我理解这简化了代码,但我不认为这对于那些变得庞大而复杂的项目来说一定是好的做法.我也明白,反应背后的意识形态是"dom很慢,javascript很快",并且重写shadow-DOM和'diff'ing它可以更快地重新渲染到DOM,但它似乎是对计算的巨大浪费时间.当一个项目变得更具交互性和更具动态性时,它似乎会重新计算一些可能是长列表的东西,例如1000多个项目,并且会浪费cpu而不仅仅是检查(添加,移动,移除等). .)这将大大减少CPU.
Facebook推荐的算法方法背后有原因吗?
问题:如何在没有循环的情况下访问键范围中指定位置的值?
我知道获取此数据的唯一可能方法是增加迭代器,但是位置是从键范围的开头或结尾多次.
编辑我不情愿使用循环的原因是通过在已知索引中的值位置时获取所需值来减少处理时间.
这是我的HTML:
<ul id="todoList" class="workList">
<li>
<h2 class="collapse"> Release 1</h2>
<ul>
<ul> <strong> Core Additions </strong>
<li class="workDone">Done -- should be checked off</li>
<li class="workDone">Done</li>
<li>Not Done</li>
<li>Not Done</li>
</ul>
</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
这是冲突的代码:
.workDone {
color: #A0A0A0;
font-weight: lighter;
list-style: none;
list-style-image: url("..//images/checkMark.png");
margin-left: 20px;
}
.workList > li > ul li {
margin-left: 32px;
margin-top: 5px;
margin-bottom: 5px;
list-style-image: url("..//images/checkBox.png");
}
Run Code Online (Sandbox Code Playgroud)
workDone 是孩子 - 我把它放在前面,看看它被宣布的位置是否是问题.
.workList是一个无序的列表,.workDone是一个<li>
由于某些原因,谷歌浏览器显示.workDone的checkMark.png被划掉,然后它继承了它的父母的图像......
为什么会这样?
有解决办法吗?
我已经尝试了很多东西来连接到我的数据库,cloud 9但我一直遇到类似的错误.
这是我的PHP代码:
<?php
// Create connection
$con=mysqli_connect($IP, "$C9_USER", "", "c9");
//(host,username,password,dbname)<- guide for me
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
?>
Run Code Online (Sandbox Code Playgroud)
我从w3schools获取了基本代码,并将其用于解释cloud 9的mysql数据库如何工作的文档:https://docs.c9.io/setting_up_mysql.html
但是,如果没有得到以下错误,我似乎无法连接:
Failed to connect to MySQL: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
所以我想知道是否有不同的方法将套接字更改为云9建议的地址:注意: MySQL socket file can be found in ~/lib/mysql/socket/mysql.sock
简介:
在cout我期望通过插入运算符传递的任何值<<将显示在屏幕上.
通常人们会认为以下代码可以正常工作:
int n = 0;
cout << n;
Run Code Online (Sandbox Code Playgroud)
它确实如此,是的,总是使用它是一种好习惯endl.但我遇到的问题非常奇怪(至少对我来说).
问题: 我有以下代码:
cout << " value at array point 0: " << (list)[length -1] << endl;
cout << " Retry: " << (list)[length - 1];
Run Code Online (Sandbox Code Playgroud)
list是指向整数数组的0索引存储器位置的指针.length是数组长度.你会想象这段代码没有错误,对吗?错误.由于某种原因,第二行不会显示 - 我没有丝毫的线索为什么.然后我出于好奇添加endl到最后" Retry: ",它起作用了.我不知道为什么,这真的很困扰我.
在此先感谢所有帮助!
代码的基本概述
// Prototype
void listAdd( int* list, int& length );
int main()
{
/* this program was created for practice with dynamic memmory with arrays. …Run Code Online (Sandbox Code Playgroud)